注:本文lamp开发环境搭建于在virtualbox
+vagrant
+centos-7.0-x86_64.box
虚拟机内的。
本文仅是自己配置环境的记录,也是我在segmentfault的处女作,如若有错误,欢迎指出交流。
已将本文配置完成的环境打包成box上传到百度云,有需要可自行download。
百度云链接: http://pan.baidu.com/s/1slWsHQl 密码: 83qf
相关版本
virtualbox : Version 5.0.14_Ubuntu
vagrant : Vagrant 1.8.1
vagrant+centos-7.0-x86_64.box
注:关于virtualbox+vagrant的搭建就此处略过,直接进入centos下lamp开发环境的搭建
升级系统
yum update
安装apache
-
安装apache服务 yum -y install httpd
-
apache相关配置
配置文件httpd.conf
默认路径是/etc/httpd/conf/httpd.conf
-
将http服务添加到centos服务列表中
-
通过
find / -name apachectl
找到apachectl
文件路径,如我的在/usr/sbin/apachectl
-
将apachectl文件拷贝到
/etc/rc.d/init.d
中,然后在/etc/rc.d/rc5.d/
下加入链接即可
//如果有其他的版本的Apache存在,也可以直接覆盖掉
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
//建立链接(85的意义后面介绍)
ln -s /etc/init.d/httpd /etc/rc.d/rc5.d/S85httpd-
通过命令
vim /etc/rc.d/init.d/httpd
修改/etc/rc.d/init.d/httpd
,并加入以下注释
# chkconfig: 345 85 15
# description: Activates/Deactivates Apache Web Server
-
添加服务
chkconfig --add httpd
-
检查是否成功
chkconfig --list httpd
-
安装mysql
-
安装mysql-server
centos7版本直接yum install mysql-server
是会报找不到包的错误。故要通过以下多步完成。wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm
-
安装mysql及其他其他相关
yum -y install mysql mysql-devel mysql-server mysql-libs
-
通过
systemctl start mysql.service
打开服务,用mysql -u root -p
进行登陆,提示登陆密码,则直接回车(密码为空),通过mysql> set password = password('password');
修改密码 -
修改用户远程访问权限(根据自己需要,可不用)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; mysql> FLUSH PRIVILEGES;
-
可能的报错
ERROR 2002 (HY000): Can't connect to local MySQL server through socket'/var/lib/mysql/mysql.sock' (2) #解决办法:去到对应目录删除所以文件,如我的是rm -rf /var/lib/mysql/ ;重启mysql服务。 ERROR 2013-Lost connection to MySQL server at ‘reading initialcommunication packet’,system error:0 #先vim /etc/mysql/my.cnf,在bind-address = 127.0.0.1,前加上#号,重启服务
安装php
-
安装php
yum -y install php
-
安装扩展(根据自己需要)
yum -y install php-mysql php-gd php-imap php-ldap php-odbc php-mbstring php-devel php-soap php-cli php-pdo php-mcrypt php-tidy php-xml php-xmlrpc php-pear php-pecl-memcache php-eaccelerator
-
重启httpd服务,并测试php扩展
通过命令service httpd restart
重启,到html目录下,通过vim phpinfo.php
编辑一个php文件。输入一下内容:<?php echo phpinfo();
-
访问
http://127.0.0.1/phpinfo.php
查看是否显示正常。
防火墙配置
-
禁用/停止自带的
firewalld
服务
停止firewalld服务systemctl stop firewalld
,禁用firewalld服务systemctl mask firewalld
-
安装
iptable iptable-service
#先检查是否安装了iptables service iptables status #安装iptables yum install -y iptables #升级iptables yum update iptables #安装iptables-services yum install iptables-services
-
设置现有规则
#查看iptables现有规则 iptables -L -n #先允许所有,不然有可能会杯具 iptables -P INPUT ACCEPT #清空所有默认规则 iptables -F #清空所有自定义规则 iptables -X #所有计数器归0 iptables -Z #允许来自于lo接口的数据包(本地访问) iptables -A INPUT -i lo -j ACCEPT #开放22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT #开放21端口(FTP) iptables -A INPUT -p tcp --dport 21 -j ACCEPT #开放80端口(HTTP) iptables -A INPUT -p tcp --dport 80 -j ACCEPT #开放443端口(HTTPS) iptables -A INPUT -p tcp --dport 443 -j ACCEPT #允许ping iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #其他入站一律丢弃 iptables -P INPUT DROP #所有出站一律绿灯 iptables -P OUTPUT ACCEPT #所有转发一律丢弃 iptables -P FORWARD DROP #保存上述规则 service iptables save
-
开启iptables服务
#注册iptables服务 #相当于以前的chkconfig iptables on systemctl enable iptables.service #开启服务 systemctl start iptables.service #查看状态 systemctl status iptables.service