在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 [email protected] //该虚拟主机的管理员邮箱 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:\windows\system32\drivers\etc\hosts 文件(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了!