在CentOS系统上部署LAMP(Linux, Apache, MySQL, PHP)环境是一个常见的任务,以下是详细的步骤:
更新系统:
sudo yum update -y
安装必要的编译工具和库:
sudo yum install -y gcc gcc-c make cmake ncurses-devel libxml2-devel perl-devel libcurl openssl
下载并解压Apache源码:
cd /usr/local/src
wget http://mirrors.sohu.com/apache/httpd/httpd-2.4.6.tar.gz
tar -xzvf httpd-2.4.6.tar.gz
cd httpd-2.4.6
配置并编译安装Apache:
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi
make && make install
启动Apache并设置开机自启动:
sudo cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
sudo chkconfig httpd on
sudo service httpd start
验证Apache安装: 打开浏览器,访问服务器的IP地址,如果看到“It works!”页面,则表示Apache安装成功。
下载并解压MySQL源码:
cd /usr/local/src
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install -y mysql-community-server
启动MySQL并设置开机自启动:
sudo systemctl start mysqld
sudo chkconfig mysqld on
设置MySQL密码:
sudo mysql_secure_installation
验证MySQL安装:
mysql -u root -p
安装PHP及其依赖库:
sudo yum install -y php php-mysql php-fpm php-gd php-xml php-mbstring php-curl php-json php-bcmath php-ldap php-snmp php-soap php-zip php-devel php-pear curl wget zlib-devel pcre-devel libxml2-devel libssl-devel openssl
配置PHP:
编辑 /etc/php.ini
文件,确保以下配置项正确:
extension_dir = "/usr/lib64/php/modules"
add_header X-Content-Type-Options nosniff
add_header X-Frame-Options SAMEORIGIN
add_header X-XSS-Protection "1; mode=block"
add_header X-Content-Security-Policy "default-src 'self'"
重启Apache以加载PHP模块:
sudo service httpd restart
测试PHP安装: 创建一个PHP测试文件:
<?php
phpinfo();
?>
将文件保存为 /var/www/html/info.php
,然后在浏览器中访问服务器的IP地址,如果看到PHP信息页面,则表示PHP安装成功。
创建Web应用:
在 /var/www/html
目录下创建你的Web应用文件夹和文件。
配置Apache虚拟主机(可选):
如果你有多个Web应用,可以配置虚拟主机。编辑 /etc/httpd/conf.d/yourdomain.conf
文件,添加以下内容:
<VirtualHost *:80>
ServerName yourdomain.com
DocumentRoot /var/www/html/yourapp
<Directory /var/www/html/yourapp>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
重启Apache:
sudo service httpd restart
通过以上步骤,你可以在CentOS系统上成功部署LAMP环境,并部署你的Web应用。如果在安装过程中遇到问题,可以参考相关软件的官方文档或搜索相关教程。