在linux下面配置安裝apache,php,mysql,按照網上的教程一步步做,可是到達一步就卡住了,我覺得我從來沒有設定過什麼使用者名稱,今天搜了一下,原來是他系統預設的使用者名稱是root,坑爹啊。。。
安裝
當然不使用Gnome,使用終端命令也很簡單:
直接一條命令:
apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql
設定Ubuntu檔案執行讀寫權限
LAMP組建安裝好之後,PHP網路伺服器根目錄預設設定是在:/var/www。由於Linux系統的安全性原則,改 目錄下的檔案讀寫權限是只允許root使用者操作的,所以我們不能在www檔案夾中建立php檔案,也不能修改和刪除,必須要先修改/var/www目錄的 讀寫權限。在介面管理器中通過右鍵屬性不能修改檔案許可權,得執行root終端命令:
sudo chmod 777 /var/www
。 然後就可以寫入html或php檔案了。如果對777表示的檔案許可權不是很清楚可參考chmod命令。
如何安裝phpmyadmin-Mysql 資料庫管理
使用介面管理器:
系統->系統管理->新立得軟體包管理器->搜尋 phpmyadmin->右鍵標記安裝。
或直接使用一條命令:
sudo apt-get install phpmyadmin
安裝開始。
phpmyadmin設定:
在安裝過程中會要求選擇Web server:apache2或lighttpd,選擇apache2,按tab鍵然後確定。然後會要求輸入設定的Mysql資料庫密碼串連密碼 Password of the database's administrative user。
然後將phpmyadmin與apache2建立串連,以我的為例:www目錄在/var/www,phpmyadmin在/usr/share /phpmyadmin目錄,所以就用命令:
sudo ln -s /usr/share/phpmyadmin /var/www
建立串連。
phpmyadmin測試:在瀏覽器地址欄中開啟http://localhost/phpmyadmin。
Ubuntu LAMP 如何配置Apache
1. 啟用 mod_rewrite 模組
終端命令:
sudo a2enmod rewrite
重啟Apache伺服器:
sudo /etc/init.d/apache2 restart
Apache重啟後我們可以測試一下,在/var/www目錄下建立檔案test.php,寫入代碼:
<?php phpinfo(); ?>
儲存,在地址欄輸入http://127.0.0.1/test.php 或http://localhost/test.php ,如果正確出現了php 配置資訊則表明LAMP Apache已經正常工作了(記得重啟Apache伺服器後再測試)。
2.設定Apache支援.htm .html .php
sudo gedit /etc/apache2/apache2.conf
或
sudo gedit /etc/apache2/mods-enabled/php5.conf
在開啟的檔案中加上
AddType application/x-httpd-php .php .htm .html
即可。
LAMP配置之Mysql測試
上面php,Apache 都已經測試過了,下面我們再測試一下Mysql 資料庫是否已經正確啟用。
在/var/www目錄下建立 mysql_test.php:
<?php $link = mysql_connect("localhost","root","020511"); if (!$link) { die('Could not connect: ' . mysql_error()); } else echo "Mysql已經正確配置"; mysql_close($link); ?>
儲存退出,在地址欄輸入http://127.0.0.1/mysql_test.php,顯示"Mysql 已經正確配置"則表示OK了,如果不行,重啟Apache伺服器後再試一下。
命令列一條命令安裝LAMP
$sudo tasksel
輸入管理員密碼後進入菜單 ,選擇LAMP server
輸入MySQL密碼
程式開始下載,並安裝完成。
安裝完後在瀏覽器輸入 Server地址,一般預設情況下輸入127.0.0.1
出現
It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.
則表明Apache運行中。
接下來檢查MySQL工作情況:
命令列輸入:
mysql -u root -p
如果運行正常如下ander50@ander50-desktop:~$ mysql -u root -pEnter password:Welcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 40Server version: 5.1.41-3ubuntu12.3 (Ubuntu)Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.
mysql>
輸入密碼
配置概要
一、配置php5
命令:
sudo gedit /etc/php5/apache2/php.ini
修改允許最大使用記憶體,尋找
memory_limit = 8M
修改為
memory_limit = 32M
修改允許最大上傳尺寸,尋找
upload_max_filesize = 2M
修改為
upload_max_filesize = 8M
允許 mysql 和 gd 模組,檢查檔案最後是否包含下面的代碼,如果沒有添加上。(預設是在設定檔最後有添加的,檢查一下以防萬一)
extension=mysql.soextension=gd.so
儲存並關閉檔案。
二、配置apache
1、ubuntu 中設定檔在/etc/apache2下,apache2.conf是全域配置或者說是主設定檔,httpd.conf是使用者設定檔,感覺和用php 編寫程式時經常用config.php覆蓋config.default.php檔案中的設定是一樣的,使用者佈建獨立出來,方便管理和備份,畢竟主配置文 件很少修改,偶爾修改一兩句也可以寫到httpd.conf裡面,備份方便
在/etc/apache2/httpd.conf加入一行:
ServerName 127.0.0.1
命令:
sudo gedit /etc/apache2/httpd.conf
2、下面這段是在官網上找下來的
編輯/etc/apache2/apache2.conf(新安裝的系統可能在/etc/apache2/conf.d/charset)檔案,在改動之 前,請先將該設定檔做個備份。以便在出錯的時候可以恢複。將
AddDefaultCharset ISO-8859-1
改為
AddDefaultCharset GB2312
當然如果你網站的編碼用的是UTF-8的話,也可以改為
AddDefaultCharset UTF-8
這樣的話,我們就不會每次開啟網頁都是亂碼了!
3、增加安全模組,以保障Apache服務的正常運行,現在我們安裝mod-security。(可選)
a. 首先安裝libapache2-mod-security包(7.10之後的系統已經沒有此包,可以跳過此步驟)
sudo apt-get install libapache2-mod-security
a. 該模組預設是沒啟用的,我們可以在/etc/apache2/mods-available目錄下看到有mod-security.load檔案,但在 /etc/apache2/mods-enabled目錄卻沒有它的軟連結。我們現在啟用它:
$sudo a2enmod mod-security$sudo cp /usr/share/doc/libapache2-mod-security/examples/httpd2.conf.example-full /etc/apache2/mods-available/mod-security.conf$sudo cp /etc/apache2/mods-available/mod-security.conf /etc/apache2/mods-available/mod-security.conf.orig$sudo vi /etc/apache2/mods-available/mod-security.conf
==== mod-security.conf 檔案內容開始====
# 檢測內容長度以避免堆溢出攻擊SecFilterForceByteRange 32 254 =>SecFilterForceByteRange 32 126# debug設定SecFilterDebugLevel 9 =>SecFilterDebugLevel 0# 設定預設的動作SecFilterDefaultAction "deny,log,status:499" =>SecFilterDefaultAction "deny,log,status:404"# 把設定傳遞給子目錄SecFilterInheritance Off# Redirect user on filter match# 當匹配sh的時候,重新定向到一個特殊的警告頁面,該頁面是自行編寫的,寫些警告的話讓攻擊者知難而退,該段先不要生效,等到相關配置配好之後再失效不遲。記住在配好之後要使之生效。#SecFilter sh redirect:http://localhost/hack/warning.htm# Prevent OS specific keywords#過濾一些敏感的東西,我們使用*是為了攻擊者使用/etc/./passwd來繞開檢測SecFilter /etc/passwd =>SecFilter /etc/*passwdSecFilter /bin/*sh# Very crude filters to prevent SQL injection attacks# 防止SQL插入(SQL Injection)攻擊SecFilter "delete[[[space|]]]+from"SecFilter "insert[[[space|]]]+into"SecFilter "select.+from"SecFilter "select[[[space|]]]+from"SecFilter "union[[[space|]]]+from"
==== mod-security.conf 檔案內容結束====
sudo ln -s /etc/apache2/mods-available/mod-security.conf /etc/apache2/mods-enabled/mod-security.conf
a. 重啟Apache2服務即可。
sudo /etc/init.d/apache2 restart