centos7下的lamp開發環境搭建
注:本文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
-
安裝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