If you're setting up a RedHat or Centos server from a VPS server without a control panel, setting up a LAMP (Linux, Apache, MySQL, and PHP) can be a nuisance. Here is a basic setup guide for bringing your Linux server to the LAMP development environment.
RedHat / Centos 8
Starting with RHEL & Centos 8, there is a new package management tool "dnf" which replaces "yum". You may still use "yum", but we'll use dnf to illustrate the LAMP setup. Centos 8 has an SSL root certificate issue, so we'll reinstall the ca-certificates package.
# dnf update # dnf reinstall ca-certificates # dnf install php-mysqlnd php-fpm mariadb mariadb-server httpd httpd-tools tar # dnf install gd php-gd php-mbstring php-xml php-json # systemctl start php-fpm # systemctl enable php-fpm # systemctl start httpd # systemctl enable httpd # systemctl start mariadb # systemctl enable mariadb # /usr/bin/mysql_secure_installation # Disable selinux # Edit /etc/selinux/config, and change the following line: SELINUX=enforcing # Change enforcing to disabled. SELINUX=disabled # Restart the server. # firewall-cmd --permanent --zone=public --add-service=http # firewall-cmd --permanent --zone=public --add-service=https # firewall-cmd --reload
RedHat / Centos 7
# yum install php mysql mysql-server php-pecl php-mysql php-pear php-pdo php-gd php-mbstring php-mcrypt php-xml httpd gd mariadb mariadb-server # systemctl start httpd.service # systemctl enable httpd.service # systemctl start mariadb.service # systemctl enable mariadb.service # /usr/bin/mysql_secure_installation // Edit Apache Configuration Files. # vi /etc/httpd/conf.d/phpMyAdmin.conf # vi /etc/phpMyAdmin/config.inc.php # firewall-cmd --permanent --zone=public --add-service=http # firewall-cmd --permanent --zone=public --add-service=https # firewall-cmd --reload
RedHat / Centos 6
# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
# cd /etc/yum.repos.d
// edit remi.repo, enable=1
# yum update
# yum install php mysql mysql-server php-pecl php-mysql php-pear
php-pdo php-gd php-mbstring php-mcrypt php-xml httpd gd php-gd
# service mysqld start
# /usr/bin/mysqladmin -u root password 'new-password'
// Edit /root/.my.cnf
[client]
user=root
password=new-password
host=127.0.0.1
-- End of edit.
# chmod 600 /root/.my.cnf
// Create a file, /usr/local/bin/watchdog.sh
#! /bin/sh
for p in httpd mysqld
do
/usr/bin/pgrep $p >/dev/null
if [ $? -ne 0 ]
then
echo "$p is not running."
/sbin/service $p restart
fi
done
-- End of Edit.
Check system date and time zone.
# date
Thu Apr 7 11:35:34 CDT 2011
// Remove /etc/localtime, and make a soft link to desired time zone.
# ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
# chmod +x /usr/local/bin/watchdog.sh
# chkconfig httpd on
# chkconfig mysqld on
// Edit /etc/httpd/conf/httpd.conf
// Create Virtual hosts.
# crontab -e
0 0 * * * /usr/sbin/ntpdate clock.redhat.com
*/10 * * * * /usr/local/bin/watchdog.sh
// Edit /etc/php.ini
// Uncomment date.timezone
date.timezone = "US/Central"
Share this post
Leave a comment
All comments are moderated. Spammy and bot submitted comments are deleted. Please submit the comments that are helpful to others, and we'll approve your comments. A comment that includes outbound link will only be approved if the content is relevant to the topic, and has some value to our readers.
Comments (0)
No comment