在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:\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了!
|