Ubuntu LAMP

基礎

如果你是安裝到本機上測試的話,最好確保hosts的內容爲這樣

username@ubuntu:~$ cat /etc/hosts
127.0.0.1       localhost

[編輯 ] 安裝

[編輯 ] 安裝LAMP

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

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

有些是因爲依賴關係會自動安裝的,但是爲了保險,所以多打了一些。開始安裝是sudo會問您密碼(只是有可能),這是系統管理員的密碼。安裝途中MySQL要求設定賬戶有密碼,這是與操作系統沒關係的賬戶與密碼。

2.偷懶一次安裝法
在新立得軟件包管理器中選擇  編輯--使用任務分組標記軟件包

在打開的窗口中 勾選 LAMP SERVER 然後確定。

在主窗口中 點擊綠色的對號 應用 按鈕

好了 。接下來就是等待...等待新立得 自動下載安裝完。 安裝途中MySQL要求設定賬戶有密碼,這是與操作系統沒關係的賬戶與密碼。

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

打開 http://localhos

 


Apache默認頁面

[編輯 ] 安裝phpmyadmin

其實這也是個安全隱患,建議通過openssh來管理服務器。

方案一:終端中運行命令 (不推薦)

sudo apt-get install phpmyadmin

方案二:

強烈建議不要從源裏安裝
在phpmyadmin網站上下載軟件包,解壓縮到本地目錄/var/www/phpmyadmin
tips:如果你請直接解壓到/var/www/phpmyadmin,如果不存在phpmyadmin,請自行創建
在終端下執行

sudo cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php
sudo gedit /var/www/phpmyadmin/config.inc.php

找到“blowfish_secret”在後面填上任意字母

$cfg['Servers'][$i]['auth_type']='cookie';
$cfg['Servers'][$i]['host']='localhost';
$cfg['Servers'][$i]['connect_type']='tcp';
$cfg['Servers'][$i]['compress']='false';
$cfg['Servers'][$i]['extension']='mysql';


保存,退出


安裝php5-mcrypt

sudo apt-get install php5-mcrypt

編輯php配置文件

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

在extension下面加上

extension=php5-mcrypt.so 

 

保存,重啓apache2
在瀏覽器裏輸入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

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 [用戶名〕

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

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

SHOW DATABASES;

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

CREATE DATABASE [數據庫名];

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模塊。

[編輯 ] 安裝eAccelerator

sudo apt-get install php5-dev

下載 eAccelerator

wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
tar jxvf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1 
phpize
sudo ./configure -enable-eaccelerator=shared
sudo make
qii@ubuntu:~/tmp/eaccelerator-0.9.6.1$ sudo make install
Installing shared extensions:     /usr/lib/php5/20060613+lfs/

修改php.ini文件,安裝爲Zend擴展,最好放在開頭,放到[zend]之前,免的出莫名其妙的問題:

sudo vi /etc/php5/apache2/php.ini
[eaccelerator]
zend_extension="/usr/lib/php5/20060613+lfs/eaccelerator.so" 
eaccelerator.shm_size="16" 
eaccelerator.cache_dir="/tmp/eaccelerator" 
eaccelerator.enable="1" 
eaccelerator.optimizer="1" 
eaccelerator.check_mtime="1" 
eaccelerator.debug="0" 
eaccelerator.filter="" 
eaccelerator.shm_max="0" 
eaccelerator.shm_ttl="0" 
eaccelerator.shm_prune_period="0" 
eaccelerator.shm_only="0" 
eaccelerator.compress="1" 
eaccelerator.compress_level="9" 
eaccelerator.allowed_admin_path="/var/www/control.php"

創建cache緩存目錄

eaccelerator.cache_dir="/var/cache/eaccelerator"   這裏定義cache路徑

默認值是/tmp/eaccelerator,這非常簡單因爲任何人都對該目錄可寫,但是並不明智,因爲重啓後系統會自動清理該目錄。一個更好的地 方是/var/cache/eaccelerator。創建該目錄並確保它對eAccelerator的使用者可寫(通常該用戶是你的網絡服務器運行者, 可能是www-data)。 使用默認值的話這樣繼續:

mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator

改成 /var/cache/eaccelerator的話這樣繼續,先改php.ini

eaccelerator.cache_dir="/var/cache/eaccelerator" 
sudo mkdir /var/cache/eaccelerator
sudo chown root:www-data /var/cache/eaccelerator
sudo chmod u=rwx,g=rwx,o= /var/cache/eaccelerator

複製控制文件control.php到網站根目錄

sudo cp control.php /var/www/htdocs/

修改control.php的$user和$pw,默認是admin和eAccelerator

sudo vi /var/www/htdocs/control.php 

重啓apache

sudo /etc/init.d/apache2 restart

打開 http://localhost/control.php


eAccelerator control.php頁面

查看之前的info.php頁面,有下列字段:

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
    

[編輯 ] 其他

[編輯 ] 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

[編輯 ] 虛擬主機

Apache虛擬主機指南

[編輯 ] 屏蔽迅雷

迅雷的user-agent是

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; )
Mozilla/5.0  (compatible; MSIE 6.0; Windows NT 5.0)
Mozilla/4.0 (compatible; MSIE  6.0; Windows NT 5.0; .NET CLR 3.5.20706)
Mozilla/4.0 (compatible;  MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

通過.htaccess文件屏蔽迅雷的下載/盜鏈功能:

RewriteEngine On

#Anti Thunder

RewriteCond  %{HTTP_USER_AGENT}  ^Mozilla/4/.0/  /(compatible;/ MSIE/ 6/.0;/ Windows/ NT/ 5/.0/)$  [NC,OR]
RewriteCond   %{HTTP_USER_AGENT}  ^Mozilla/5/.0/ /(compatible;/ MSIE/ 6/.0;/ Windows/  NT/ 5/.0/)$  [NC,OR]
RewriteCond  %{HTTP_USER_AGENT}  ^Mozilla/4/.0/  /(compatible;/ MSIE/ 6/.0;/ Windows/ NT/ 5/.1;/ /)$   [NC,OR]
RewriteCond   %{HTTP_USER_AGENT}  ^Mozilla/4/.0/ /(compatible;/ MSIE/ 6/.0;/ Windows/  NT/ 5/.0;/ /.NET/ CLR/ 3/.5/.20706/)$  [NC,OR]
RewriteCond   %{HTTP_USER_AGENT}  ^Mozilla/4/.0/ /(compatible;/ MSIE/ 6/.0;/ Windows/  NT/ 5/.1;/ SV1;/ /.NET/ CLR/ 1/.1/.4322;/ /.NET/ CLR/ 2/.0/.50727/)$   [NC]
RewriteRule  ^.*/.(gif|jpg|bmp|zip|rar|exe|mp3|swf)$   /    [NC,F]

你可以用Firefox的擴展user-agent switcher 來測試效果。

如果你的資料地址已經被迅雷索引,請修改資源的路徑地址。

如果用戶手動用UltraEdit改寫迅雷的user-agent,亦或者本機裝虛擬機,虛擬機掛代理,迅雷掛虛擬機中的代理,這種屏蔽方法就失效了

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