Ubuntu下搭建LAMP平臺(Linux+Apache+Mysql+PHP)

本人親測可用,有些組件可以不要安裝,必須的是下面一開始安裝的幾個組件。

1.仔細手動安裝法(最小組件)

sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server

有些是因爲依賴關係會自動安裝的,但是爲了保險,所以還是全部安裝。開始安裝時sudo會問您密碼(只是有可能),這是系統管理員的密碼。安裝途中MySQL要求設定root賬戶的密碼,這裏的root是Mysql的root賬戶密碼,不是系統的root賬戶,不要搞混了。

sudo apt-get install apache2 mysql-server php5 php5-mysql #終端命令

打開 http://localhost/

 

編輯php配置文件
 

sudo gedit /etc/php5/apache2/php.ini 

在extension下面加上(任何獨立一行就行)

extension=php_mcrypt.so (原來的php5-mcrypt.so無效)


 

保存,重啓apache2
 

sudo /etc/init.d/apache2 restart

在瀏覽器裏輸入http://localhost/phpmyadmin

配置文件路徑

1>apache 的配置文件路徑 /etc/apache2/apache2.conf

2>apache 網站字符編碼配置路徑 /etc/apache2/conf.d/charset

3>php.ini 路徑 /etc/php5/apache2/php.ini

4>mysql配置文件 路徑 /etc/mysql/my.cnf 一般不要使用,尤其是新手

5>phpmyadmin配置文件路徑 /etc/phpmyadmin/apache.conf

6>默認網站根目錄 /var/www
 

[編輯] 常用命令

1.重啓apache

sudo /etc/init.d/apache2 restart

2.重啓mysql

sudo /etc/init.d/mysql restart

[編輯] 配置apache

1.更改默認字符集
終端中使用命令

sudo nano /etc/apache2/conf.d/charset 

將其中的

# AddDefaultCharset 

的井號去掉,後面字段改成UTF-8(如果您的網站是這樣了話)

AddDefaultCharset     UTF-8 

中間的空格數並不重要,但一定要有。

2.添加支持文件類型(一般不需要),與網站地址(需要)

終端中使用命令
 

sudo nano /etc/apache2/apache2.conf

在配置文件最後面加入下面幾行:

添加文件類型支持
 

AddType application/x-httpd-php .php .htm .html


添加首頁文件 三個的順序可以換 前面的訪問優先 (當然你也可以加別的 比如default.php)
 

<IfModule dir_module>
DirectoryIndex index.htm index.html index.php
</IfModule>

更改服務器地址(改爲本機)
 

ServerName 127.0.0.1

修改apache的根目錄DocumentRoot:

sudo nano /etc/apache2/sites-enabled/000-default 

將其中的 DocumentRoot /var/www 改成您想要的目錄比如 DocumentRoot /var/www/htdocs/ 以上Apache2就基本配置完成了。重啓Apache2服務即可。 下面的是參考,一般不需要改變,除非有特殊需求。

sudo nano /etc/apache2/ports.conf #修改端口號,修改 Listen 80 

再修改site的配置文件

/etc/apache2/sites-available/default

80是端口號

<VirtualHost *:80>
sudo a2enmod rewrite #開啓apache 的rewrite功能

[編輯] Apache模塊

sudo a2enmod #啓用模塊
sudo a2dismod #禁用模塊

[編輯] 配置PHP5

這個沒什麼好說的 根據個人自己需要
建議將安全模塊開啓(注意!開啓後phpmyadmin會不能用)

sudo nano /etc/php5/conf.d/php.ini

注意:你可能需要敲入命令

php --ini

php -i | grep php.ini

來獲取你的php cli加載的php.ini路徑(Loaded Configuration File,比如 /etc/php5/cli/php.ini 而非 /etc/php5/conf.d/php.ini)。但此文件並不一定是apache php5模塊加載的php.ini文件,如果要獲得apache php5模塊加載的php.ini,請參見測試_phpinfo()

nano可以用Ctrl+w來搜索將 safe_mode = off safe_mode = 設置爲 safe_mode = on safe_mode = /var/www/htdocs/ 以上 /var/www/htdocs/是您在上面設置個網站根目錄,請按照情況修改,結尾的/是一定要加的,

不然 /var/www/htdocsa,/var/www/htdocsb,等目錄也可以訪問。

以下是更改默認時區
 

;date.timezone=

去掉前面的分號 後面加個PRC 。表示中華人民共和國(就是GMT+8時區)
 

date.timezone= PRC

[編輯] 配置MySQL

[編輯] MySQL常用命令

MySQL大部分命令是以

;

結尾,這裏除了5給出的命令,其它一定要以

;

結尾!

1.進入mysql

mysql -h [服務器地址] -u [用戶名〕-p

這是訪問本地服務器

mysql -h 127.0.0.1 -u [用戶名〕 -p
如:mysql -h 127.0.0.1 -u root -p

認證成功之後就進入mysql的命令控制檯,以下都是在mysql的命令控制檯的命令。

2.顯示已經存在的數據庫

SHOW DATABASES;

3.創建數據庫數據庫名在這裏是沒有[]號的!!,還有在linux下是區分大小寫(只是使用時有關!)。

CREATE DATADASE [數據庫名];

4.創建一個受限用戶這個用戶(testuser)只有一個數據庫(這裏是test庫)的訪問寫入權限,這個數據庫創建與刪除表的權限,並且只能在本地登入,密碼爲userpasswd

grant select,insert,update,delete,create,alter on test.* to 'test'@'localhost' IDENTIFIED BY 'userpasswd';

5.退出數據庫

quit

配置文件(新手、無特殊要求勿動)

sudo nano /etc/mysql/my.cnf

這裏有一個地方要注意 默認:是隻允許本地訪問數據庫的這裏不是說本機架設了網站,用戶通過架設在的網頁不能訪問MySQL ,是指其它機子不能直接訪問MySQL
 

bind-address 127.0.0.1

解除限制只能本地訪問mysql,如果需要其他機器訪問,應使用如下語句,把這“bind-address 127.0.0.1”句話用#註釋掉

#bind-address 127.0.0.1

配置phpmyadmin(沒裝就不要看)

sudo apt-get install phpmyadmin

訪問 http://localhost/phpmyadmin ,phpmyadmin 默認並不是安裝在 /var/www下面的而是在 /usr/share/phpmyadmin
 

你可以把phpmyadmin複製過去 或者 鏈接過去

sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

然後 終端中運行命令

sudo gedit /etc/phpmyadmin/apache.conf

然後把下面兩句的路徑 改爲/var/www/phpmyadmin(因爲我已經配置好環境,所以忘記了phpmyadmin中默認配置怎麼寫的。。反正就是在第三行和第四行的兩句.如果我沒記錯的話 應該是下面這樣)
 

Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>

改爲:
 

Alias /phpmyadmin /var/www/phpmyadmin
<Directory /var/www/phpmyadmin>

LAMP到此已經配置完成了

測試 phpinfo(); (根據需要,自己選擇,可不做)

創建、測試phpinfo:

sudo vi /var/www/info.php
<?php phpinfo(); ?>

打開 http://localhost/info.php

Apache phpinfo頁面

性能優化(根據需要,自己選擇,可不做)

安裝Zend Optimizer

要求PHP版本爲5.2,不支持Ubuntu10.04的PHP5.3,請參照PHP5.2

下載 Zend Optimizer。直接貼下載地址,參考版本號改(這是32位的),不然主頁要註冊才能下

 http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz 
tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp
sudo mkdir /usr/local/zend
sudo cp ZendOptimizer.so /usr/local/zend 

編輯php.ini

sudo gedit /etc/php5/apache2/php.ini

開頭加入,注意標點符號要英文。

[Zend Optimizer]
zend_optimizer.optimization_level=1  
zend_extension="/usr/local/zend/ZendOptimizer.so"

重啓apache2

sudo /etc/init.d/apache2 restart 

還是上面那個phpinfo文件,要能看到如下信息

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies

安裝XCache

sudo apt-get install php5-xcache
root@ubuntu:/home/qii# dpkg -l | grep xcach
ii  php5-xcache                          1.2.2-5                                         Fast, stable PHP opcode cacher

xcache配置文件路徑是

/etc/php5/conf.d/xcache.ini

編輯php.ini

sudo gedit /etc/php5/apache2/php.ini

把xcache.ini的內容加入到php.ini。重啓apache2

sudo /etc/init.d/apache2 restart 

檢查安裝是否成功

root@ubuntu:/home/qii# php -v
PHP 5.2.10-2ubuntu6 with Suhosin-Patch 0.9.7 (cli) (built: Oct 23 2009 16:30:10) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with XCache v1.2.2, Copyright (c) 2005-2007, by mOo

還有前面info.php頁應該有XCache模塊

info頁面的XCache模塊

這裏有點奇怪的是,如果不把xcache.ini的內容加入php.ini,apache也能載入XCache,但info.php上沒XCache模塊。

安全:隱藏服務器信息
vim /etc/apache2/apache2.conf
ServerTokens Prod

指定apache2的運行賬戶

以root來運行是很危險的,用下面的方法更改,這裏是都改爲www-data

vim /etc/apache2/envvars
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

要確認存在這些用戶組。

啓用.htaccess

這個對pbpbb3這樣有附帶.htaccess的程序有利,不過其它場合有可能引發問題。方法:在網站主機配置下加入AllowOverride AuthConfi 例子:

vim /etc/apache2/sites_available/default
<Directory /var/www/>
...
AllowOverride AuthConfig
...
</Directory>

其他:PDO的安裝
pecl search pdo
sudo pecl install pdo
sudo pecl install pdo_mysql

最後編輯php.ini

sudo gedit /etc/php5/apache2/php.ini 

再最後面添加兩行:

extension = pdo.so
extension = pdo_mysql.so

 排錯: 無法解析php文件,瀏覽器提示下載所要打開的php文件

執行:
 

sudo apt-get install libapache2-mod-php5
sudo a2enmod php5


 

如果顯示爲:
 

This module does not exist!


 

那就要徹底刪除libapache2-mod-php5,然後重新安裝它
 

sudo apt-get remove --purge libapache2-mod-php5
sudo apt-get install libapache2-mod-php5

重啓apache2
 

sudo /etc/init.d/apache2 restart

清除瀏覽器緩存,然後輸入http:localhost
 

附錄: apache2配置文件與子目錄

/etc/apache2/apache2.conf 全局配置

/etc/apache2/envvars 環境變量

/etc/apache2/ports.conf httpd服務端口信息

/etc/apache2/conf.d/ 一般性配置文件存放地

/etc/apache2/mods-available/ 已安裝的模塊

/etc/apache2/mods-enabled/ 已經啓用的模塊

/etc/apache2/sites-available/ 可用站點信息

/etc/apache2/sites-enabled/ 已經啓用的站點信息,當中的文件是到/etc/apache2/sites-available/ 文件的軟連接。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章