1. 程式人生 > >centos7下的lamp開發環境搭建

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

  1. 安裝apache服務 yum -y install httpd

  2. apache相關配置
    配置檔案httpd.conf預設路徑是/etc/httpd/conf/httpd.conf

  3. 將http服務新增到centos服務列表中

    1. 通過find / -name apachectl找到apachectl檔案路徑,如我的在/usr/sbin/apachectl

    2. 將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

    1. 通過命令vim /etc/rc.d/init.d/httpd修改/etc/rc.d/init.d/httpd,並加入以下注釋
      # chkconfig: 345 85 15

    # description: Activates/Deactivates Apache Web Server

    1. 新增服務

      chkconfig --add httpd
    2. 檢查是否成功

      chkconfig --list httpd

安裝mysql

  1. 安裝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
  2. 安裝mysql及其他其他相關

    yum -y install mysql mysql-devel mysql-server mysql-libs
  3. 通過systemctl start mysql.service開啟服務,用mysql -u root -p進行登陸,提示登陸密碼,則直接回車(密碼為空),通過mysql> set password = password('password');修改密碼

  4. 修改使用者遠端訪問許可權(根據自己需要,可不用)

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; 
    mysql> FLUSH PRIVILEGES;  
  5. 可能的報錯

    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

  1. 安裝php

    yum -y install php
  2. 安裝擴充套件(根據自己需要)

    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
  3. 重啟httpd服務,並測試php擴充套件
    通過命令service httpd restart重啟,到html目錄下,通過vim phpinfo.php編輯一個php檔案。輸入一下內容:

    <?php
     echo phpinfo();
  4. 訪問http://127.0.0.1/phpinfo.php檢視是否顯示正常。

防火牆配置

  1. 禁用/停止自帶的firewalld服務
    停止firewalld服務systemctl stop firewalld,禁用firewalld服務systemctl mask firewalld

  2. 安裝iptable iptable-service

     #先檢查是否安裝了iptables
     service iptables status
     #安裝iptables
     yum install -y iptables
     #升級iptables
     yum update iptables 
     #安裝iptables-services
     yum install 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