基礎
如果你是安裝到本機上測試的話,最好確保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 #終端命令
[編輯 ] 安裝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 。
[編輯 ] 性能優化(根據需要,自己選擇,可不做)
[編輯 ] 安裝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模塊
這裏有點奇怪的是,如果不把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
查看之前的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
[編輯 ] 虛擬主機
[編輯 ] 屏蔽迅雷
迅雷的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,亦或者本機裝虛擬機,虛擬機掛代理,迅雷掛虛擬機中的代理,這種屏蔽方法就失效了