注:本文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
3. 设置现有规则
#查看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
4. 开启iptables服务
#注册iptables服务
#相当于以前的chkconfig iptables on
systemctl enable iptables.service
#开启服务
systemctl start iptables.service
#查看状态
systemctl status iptables.service
# 联系我
如果你还是不明白的话,或者本文章内资源下载不了,可以联系我,或者是加我的QQ群(群内有资源提供下载),大家可以多多交流:
![qq](https://segmentfault.com/img/bVbA2hG) ![qq](https://segmentfault.com/img/bVbA2hD)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。