天天看點

LAMP環境(linux+apache+mysql+php)配置

1、理論部分

LAMP 是Linux Apache MySQL PHP的簡寫,其實就是把Apache, MySQL以及PHP安裝在Linux系統上,組成一個環境來運作php的腳本語言。

本文是測試Apache與PHP結合和創,搭建方法采用非常标準手法(開啟SELinux),初學者可以直接使用。

2、實驗部分

2.1、實驗環境

lampSer:

hostname=lamp

ipaddress=10.168.0.170

client:

hostnmae=client

ipaddress=10.168.0.8

2.2、yum源的安裝

In lampSer

1

2

<code>yum -y </code><code>install</code> <code>httpd php mysql mysql-server php-mysql</code>

<code>yum -y </code><code>install</code> <code>policycoreutils-python</code>

2.3、配置部分

2.3.1、step1

注:如果你不想了解php的加載方式本步驟請直接跳過

檢查是否引入php子產品(預設開啟),主配置檔案:

<code>grep</code> <code>^Include </code><code>/etc/httpd/conf/httpd</code><code>.conf</code>

包含如下内容:

<code>Include conf.d/*.conf</code>

檢視PHP支援子產品配置檔案:

<code>less</code> <code>/etc/httpd/conf</code><code>.d</code><code>/php</code><code>.conf</code>

3

4

5

6

7

8

9

10

11

<code>&lt;IfModule prefork.c&gt;</code>

<code>  </code><code>LoadModule php5_module modules</code><code>/libphp5</code><code>.so</code>

<code>&lt;</code><code>/IfModule</code><code>&gt;</code>

<code>&lt;IfModule worker.c&gt;</code>

<code>  </code><code>LoadModule php5_module modules</code><code>/libphp5-zts</code><code>.so</code>

<code>AddHandler php5-script .php</code>

<code>AddType text</code><code>/html</code> <code>.php</code>

<code>DirectoryIndex index.php</code>

2.3.2、step2

啟動httpd&amp;mysqld服務:

<code>/etc/init</code><code>.d</code><code>/httpd</code> <code>start</code>

<code>chkconfig httpd on</code>

<code>/etc/init</code><code>.d</code><code>/mysqld</code> <code>start</code>

<code>chkconfig mysqld on</code>

注:關于MySQL的安全配置請運作,這裡不再詳述!

<code>mysql_secure_installation</code>

2.3.3、step3

配置httpd服務

1)vim編輯/etc/httpd/conf/httpd.conf

啟用并更改ServerName(去掉ServerName前面的#)

啟用NameVirtaulHost(去掉ServerName前面的#)

<code>ServerName www.cmdschool.org:80</code>

<code>NameVirtualHost *:80</code>

2)建立虛拟目錄:

<code>mkdir</code> <code>/var/www/www</code><code>.cmdschool.org</code>

3)添加測試頁面:

<code>echo</code> <code>'&lt;?php phpinfo(); ?&gt;'</code> <code>&gt; </code><code>/var/www/www</code><code>.cmdschool.org</code><code>/index</code><code>.php</code>

4)確定selinux是Enforcing狀态:

<code>getenforce</code>

5)恢複預設的selinux type:

<code>restorecon -RFvv </code><code>/var/www/www</code><code>.cmdschool.org/</code>

顯示如下:

<code>restorecon reset </code><code>/var/www/www</code><code>.cmdschool.org</code><code>/index</code><code>.php context unconfined_u:object_r:httpd_sys_content_t:s0-&gt;system_u:object_r:httpd_sys_content_t:s0</code>

6)檢查目前的selinux type:

<code>ll -dZ </code><code>/var/www/www</code><code>.cmdschool.org/</code>

7)設定虛拟目錄:

vim編輯/etc/httpd/conf.d/www.cmdschool.org.conf

<code>&lt;VirtualHost *:80&gt;</code>

<code>    </code><code>DocumentRoot </code><code>/var/www/www</code><code>.cmdschool.org</code>

<code>    </code><code>ServerName www.cmdschool.org</code>

<code>&lt;</code><code>/VirtualHost</code><code>&gt;</code>

<code>&lt;Directory </code><code>/var/www/www</code><code>.cmdschool.org&gt;</code>

<code>    </code><code>Options All</code>

<code>    </code><code>AllowOverride all</code>

<code>&lt;</code><code>/Directory</code><code>&gt;</code>

8)重新開機httpd服務:

<code>/etc/init</code><code>.d</code><code>/httpd</code> <code>restart</code>

2.3.4、step4

設定防火牆:

vim編輯/etc/sysconfig/iptables

<code>-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT</code>

重新開機防火牆:

<code>/etc/init</code><code>.d</code><code>/iptables</code> <code>restart</code>

2.4.5、step5

In client

測試伺服器

1)vim編輯/etc/hosts

確定包含www.cmdschool.org的指向10.168.0.170的唯一值:

<code>10.168.0.170 www.cmdschool.org</code>

2)curl測試

<code>curl www.cmdschool.org</code>

本文轉自 tanzhenchao 51CTO部落格,原文連結:http://blog.51cto.com/cmdschool/1708325,如需轉載請自行聯系原作者