首先说明下,我在搭建的时候,用的是centOS7,虽然都是用命令行配置的,但是因为选择了GUI的centOS所以一些命令和库是系统装好的,纯命令行版本的centOS7,有些命令和库可能需要自己去安装。以下重复:建议先直接参见https://www.jianshu.com/p/bce48cf2d3fd
1、安装Apache和php
#ifconfig 查看以太网口信息
#ping www.baidu.com 确认网络状况良好
#yum search httpd 从yum源搜索httpd安装包
#yum install httpd 安装Apache
#lsof -i:80 查看80端口的是否开放(有返回数据则是开放的)
#service httpd start <span style="white-space:pre"> </span>http访问启动
#chkconfig httpd on 开机自启
#getenforce 查看selinux状态
#vim /etc/selinux/config 编辑selinux配置,关闭selinux(需重启服务器)
#init 6 重启服务器生效
#yum search php 查看php安装包
#yum install php 安装php
new:
[root@VM_82_192_centos ~]# systemctl start httpd.service
[root@VM_82_192_centos ~]# systemctl status httpd.service
systemctl enable httpd.service
将php与mysql关联起来:
[root@nmserver-7 ~]# yum install php-mysql
[root@nmserver-7 ~]# rpm -ql php-mysql
/etc/php.d/mysql.ini
/etc/php.d/mysqli.ini
/etc/php.d/pdo_mysql.ini
/usr/lib/php/modules/mysql.so
/usr/lib/php/modules/mysqli.so
/usr/lib/php/modules/pdo_mysql.so
安装常用PHP模块:
[root@nmserver-7 ~]# yum install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath
2、安装mysql
//因为centOS7中并没有自带MySQL的安装包,我这里选择安装mysql的repo源来进行yum安装
#wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
#rpm -ivh mysql-community-release-el7-5.noarch.rpm
#yum install mysql-server
//错误:软件包:akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda) Requires: mariadb-server Removing: 1:mariadb-...
//原因是centOS7因为安装过了mariadb,其中有些包和mysql的冲突了。
//解决方法:
#yum remove mariadb-libs
#yum install mysql-server 安装mysql-server
#mysqladmin -u root password root 设置MySQL的登录密码为"root"
#mysql -h localhost -u root -p
enter password:root
mysql>exit
#chkconfig mysqld on 开机自启动
3、再往下参照另外一篇:配置Apache的虚拟主机,参照https://www.jianshu.com/p/bce48cf2d3fd
[root@VM_82_192_centos ~]# cat /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
ServerName www.vipelephant.cn
DocumentRoot /var/www/www.vipelephant.com
ErrorLog /var/www/web_log/error_vipelephant.com.log
CustomLog /var/www/web_log/custom_vipelephant.com.log common
</VirtualHost>
<Directory "/var/www/www.vipelephant.com">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<VirtualHost *:80>
ServerName music.vipelephant.cn
DocumentRoot /var/www/music
ErrorLog /var/www/web_log/error_vipelephant.com.log
CustomLog /var/www/web_log/custom_vipelephant.com.log common
</VirtualHost>
<Directory "/var/www/music">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
#mkdir /var/www/www.bookstore.com
#mkdir /var/www/web_log
#service httpd restart重启Apache
//如果重启中碰到了报错,比如:caught SIGWINCH, shutt ing down gracefully。
//一般是语法问题,导致Apache无法启动成功,可以使用如下目录查看启动失败原因:
#systemctl status httpd.service -l 或者journalctl -xe
//搞定了上面之后,可以试试php脚本能不能运行:
#vim /var/www/www.bookstore.com/index.php
添加测试代码:
<?php
echo "here is bookstore";
?>
//如果你的centOS可以使用浏览器,你可以试一下,已经可以显示出“ere is bookstore”了
需要注意的地方:
注意:
1、记得开启php.ini中的报错提示:
#vim /etc/php.ini
//找到display_error=off,改为on即可
#service httpd restart
2、如果要在虚拟机外面访问刚才的index.php,则需要配置防火墙,这里我直接清空了防火墙规则:
#iptables -F
//然后在虚拟机外面的浏览器,试试访问192.168.0.250/index.php,成功~~