注:本文lamp開發環境搭建於在virtualbox
+vagrant
+centos-7.0-x86_64.box
虛擬機內的。
本文僅是本身配置環境的記錄,也是我在segmentfault的處女做,如如有錯誤,歡迎指出交流。
已將本文配置完成的環境打包成box上傳到百度雲,有須要可自行download。
百度雲連接: http://pan.baidu.com/s/1slWsHQl 密碼: 83qfphp
相關版本
virtualbox : Version 5.0.14_Ubuntu
vagrant : Vagrant 1.8.1
vagrant+centos-7.0-x86_64.boxhtml
注:關於virtualbox+vagrant的搭建就此處略過,直接進入centos下lamp開發環境的搭建mysql
yum update
安裝apache服務
yum -y install httpdsql
apache相關配置
配置文件httpd.conf
默認路徑是/etc/httpd/conf/httpd.conf
apache
將http服務添加到centos服務列表中vim
經過find / -name apachectl
找到apachectl
文件路徑,如個人在/usr/sbin/apachectl
segmentfault
將apachectl文件拷貝到/etc/rc.d/init.d
中,而後在/etc/rc.d/rc5.d/
下加入連接便可centos
//若是有其餘的版本的Apache存在,也能夠直接覆蓋掉
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
//創建連接(85的意義後面介紹)
ln -s /etc/init.d/httpd /etc/rc.d/rc5.d/S85httpdsocket
經過命令vim /etc/rc.d/init.d/httpd
修改/etc/rc.d/init.d/httpd
,並加入如下注釋
# chkconfig: 345 85 15tcp
# description: Activates/Deactivates Apache Web Server
添加服務
chkconfig --add httpd
檢查是否成功
chkconfig --list httpd
安裝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
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