CentOS下安裝配置LAMP(Linux+Apache+MySQL+PHP)

首先說下我的主機和網絡環境:主機系統是win7,在win7下安裝了虛擬機,CentOS在虛擬機中。虛擬機的聯網方式是NAT,主機網絡是校園網,需要帳號認證才能上網。

在CentOS下安裝軟體有兩種方式,第一種是使用yum命令,自動安裝軟體,安裝的軟體具有固定的位置和固定的目錄;第二種是下載源碼安裝包,手動解壓,配置,編譯和安裝,在安裝的過程中可以自己選擇安裝的目錄和路徑等。在這裡,我選擇的安裝方式是第一種,比較便捷,雖然在靈活性上有所欠缺,但是對於試驗階段已經夠了。

工具/原料

主機系統是win7,安裝虛擬機VM。
CentOS下載地址:http://linux.xitongxz.net:808/201603/CentOS-6.7-i386-bin-DVD1.iso

方法/步驟

配置防火牆(默認情況下,埠80和3306是拒絕訪問的,在防火牆上進行配置)

1. vi /etc/sysconfig/iptables(在"COMMIT"的上一行加上如下兩句)

2. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允許80埠通過防火牆)

3. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允許3306埠通過防火牆)

接著重啟防火牆使得配置生效:

4. /etc/init.d/iptables restart

第二步:安裝Apache

yum install -y httpd

如果出下下面所示的語句,說明已經安裝了Apache了,不需要重新安裝:

安裝完之後,重新啟動Apache:/etc/init.d/httpd restart

接著將Apache設置為開機啟動:chkconfig httpd on.(這一步使得伺服器不需要在每次重啟的時候都要手動啟動httpd服務)

要查看httpd服務的啟動狀態,可以使用命令:chkconfig --list httpd(會顯示httpd在各個級別(level)下的啟動狀態)

第三步:安裝MySQL

1、使用以下命令安裝MySQL:

yum install mysql mysql-server

同樣,如果出現提示已安裝的話,就說明系統安裝了MySQL了,可以跳過這一步,否則,系統接下來會自動安裝MySQL。

安裝完成了之後,啟動MySQL:/etc/init.d/mysql start

將MySQL設置為開機啟動:chkconfig mysqld on最後,拷貝配置文件:cp /usr/share/mysql/my-medium.cnf  /etc/my.cnf (在/etc下有個my.cnf文件,直接覆蓋就行了)

2、用以下命令給root帳戶設置密碼

mysql_secure_installation

根據提示輸入2次密碼,就設置成功了。注意,在設置過程中,會提示刪除是否anonymous用戶,是否拒絕root的遠程訪問,是否刪除測試用的資料庫等,這些都需要根據自己的實際情況進行選擇。最後出現:Thanks for using MySQL!,設置密碼成功了。

重新啟動MySQL:/etc/init.d/mysqld restart

第四步:安裝PHP

1、使用以下命令安裝PHP:

yum install php

根據提示往下安裝就行了。安裝完之後重新啟動Apache:/etc/init.d/httpd restart2、安裝PHP組件,是PHP支持MySQL

可以使用命令:yum search php來查看PHP的組件,選擇需要的模塊進行安裝:

yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt

安裝完之後,重啟Apache:/etc/init.d/httpd restart

重啟MySQL:/etc/init.d/mysqld restart

到了這一步,LAMP中的AMP都已經安裝完畢了,但是web伺服器此時並不能被訪問,因為要訪問伺服器,還需要對Apache和PHP進行相應的配置。

注意事項

php配置#在386行 列出PHP可以禁用的函數,如果某些程序需要用到這個函數,可以刪除,取消禁用。 disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter
原作者:ai_net

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場