在Ubuntu下安裝Drupal7十分方便,最方便的方式當然是
sudo apt-get install drupal7
但是Ubuntu 的Drupal7包相對於官方下載來說做了相當大的調整,所以安裝倒是簡單了,但學習起來比較費心費力費時,主要是與網上的參考資料在目錄結構上存在著太多的差異,所以還是決定採用手工的方式來進行安裝,以下是安裝步驟:
1、準備工作:
-
安裝tasksel軟體包
sudo apt-get install tasksel
-
安裝LAMP服務(Apache2、Mysql和PHP)
sudo tasksel install lamp-server
-
建立Drupal7的工作目錄
sudo mkdir /var/www/drupal7 sudo chown firehare:firehare /var/www/drupal7
之所以要將Drupal7的工作目錄的所有者從root改為firehare(Ubuntu下的使用者名稱),一則是出於安全的考慮,二則是為了方便對Drupal7工作目錄進行操作。
-
建立Drupal7的虛擬主機檔案
sudo vi /etc/apache2/sites-available/drupal7.conf
具體內容如下:
<VirtualHost *:80> ServerName drupal7.firehare.me // ServerAdmin ubuntu.firehare@gmail.com //該虛擬主機的管理員郵箱 DocumentRoot "/var/www/drupal7" //該虛擬主機的主目錄 <Directory "/var/www/drupal7" > //設定該虛擬主機主目錄的屬性 Options FollowSymLinks //允許軟連結 AllowOverride All //允許覆寫,即允許.htaccess檔案覆寫屬性 </Directory> ErrorLog "/var/log/apache2/drupal7_errors.log" //指定錯誤日誌檔案 CustomLog "/var/log/apache2/drupal7_accesses.log" common //指定訪問日誌檔案 </VirtualHost>
其中:
ServerName 是指虛擬主機的DNS域名 ServerAdmin 是該虛擬主機的管理員郵箱 DocumentRoot 是指該虛擬主機的主目錄 Directory 指設定該虛擬主機工作目錄的屬性 Options FollowSymLinks //該工作目錄允許軟連結 AllowOverride All //允許覆寫,即允許.htaccess檔案覆寫屬性 ErrorLog //指定錯誤日誌檔案 CustomLog //指定訪問日誌檔案
備註:
如果沒有DNS域名,也可以在自己的測試機上(客戶機)將/etc/hosts檔案(Ubuntu)或 c:windowssystem32driversetchosts 檔案(Windows)用管理員許可權修改一下,新增以下語句:X.X.X.X drupal7.firehare.me
其中 X.X.X.X 是指虛擬主機所在伺服器的IP地址。這樣就可以在自己的機器上直接接入DNS域名來訪問虛擬主機。
-
啟用Apache2的ReWrite模組
sudo a2enmod rewrite sudo service apache2 restart
2、下載Drupal7的安裝包:
wget http://ftp.drupal.org/files/projects/drupal-7.XX.tar.gz
其中XX為最新的版本號
3、將安裝包中檔案解壓至Drupal7的工作目錄
tar -xvzf drupal-7.XX.tar.gz mv drupal-7.XX/* drupal-7.XX/.htaccess drupal-7.XX/.gitignore /var/www/drupal7
4、建立上傳目錄
mkdir /var/www/drupal7/sites/default/files sudo chown www-data:www-data /var/www/drupal7/sites/default/files sudo setfacl -R -m u:www-data:rwx -m u:firehare:rwx /var/www/drupal7/sites/default/files sudo setfacl -dR -m u:www-data:rwx -m u:firehare:rwx /var/www/drupal7/sites/default/files
其中將該上傳目錄使用者設為www-data主要是為了讓Drupal能夠知道它對該目錄有讀寫的許可權,以便在做頻寬優化時可以合併和壓縮CSS,否則的話該功能不能正常。setfacl 語句的作用就是讓www-data(Apache2使用者名稱)和firehare(您的使用者名稱)對該上傳目錄都有許可權。如果該命令不起作用,可以百度一下,在/etc/fstab檔案中的相關目錄新增acl屬性即可。這裡就不再多講了。
5、建立站點配置檔案
cp /var/www/drupal7/sites/default/default.settings.php /var/www/drupal7/sites/default/settings.php sudo chmod 666 /var/www/drupal7/sites/default/settings.php
6、建立Drupal7的Mysql資料庫
mysqladmin -u root -p create drupal
密碼為安裝MySQL時的root使用者密碼!然後建立Drupal7的資料庫使用者
mysql -u root -p mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON drupal.* TO `drupaluser`@`localhost` IDENTIFIED BY `drupalpass`; mysql> FLUSH PRIVILEGES; mysql> q
其中drupaluser為Drupal7的資料庫使用者,drupalpass為Drupal7資料庫使用者的密碼。
7、瀏覽器安裝
http://drupal7.firehare.me/install.php
開啟瀏覽器,在位址列中輸入上面的地址,根據提示進行安裝。
安裝到最後一步,需要將站點配置檔案的許可權還原
sudo chmod 644 /var/www/drupal/sites/default/settings.php
這樣就可以訪問Drupal7了!