本文共 3113 字,大约阅读时间需要 10 分钟。
在Ubuntu下安装Drupal7十分方便,最方便的方式当然是
1 | sudo apt-get install drupal7 |
但是Ubuntu 的Drupal7包相对于官方下载来说做了相当大的调整,所以安装倒是简单了,但学习起来比较费心费力费时,主要是与网上的参考资料在目录结构上存在着太多的差异,所以还是决定采用手工的方式来进行安装,以下是安装步骤:
1、准备工作:
安装tasksel软件包
1 | sudo apt-get install tasksel |
安装LAMP服务(Apache2、Mysql和PHP)
1 | sudo tasksel install lamp-server |
创建Drupal7的工作目录
1 2 | sudo mkdir /var/www/drupal7 sudo chown firehare:firehare /var/www/drupal7 |
之所以要将Drupal7的工作目录的所有者从root改为firehare(Ubuntu下的用户名),一则是出于安全的考虑,二则是为了方便对Drupal7工作目录进行操作。
创建Drupal7的虚拟主机文件
1 | sudo vi /etc/apache2/sites-available/drupal7 .conf |
具体内容如下:
1 2 3 4 5 6 7 8 9 10 11 | < 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 > |
其中:
1 2 3 4 5 6 7 8 | ServerName 是指虚拟主机的DNS域名 ServerAdmin 是该虚拟主机的管理员邮箱 DocumentRoot 是指该虚拟主机的主目录 Directory 指设置该虚拟主机工作目录的属性 Options FollowSymLinks // 该工作目录允许软链接 AllowOverride All // 允许覆写,即允许.htaccess文件覆写属性 ErrorLog // 指定错误日志文件 CustomLog // 指定访问日志文件 |
备注:
如果没有DNS域名,也可以在自己的测试机上(客户机)将/etc/hosts文件(Ubuntu)或 c:\windows\system32\drivers\etc\hosts 文件(Windows)用管理员权限修改一下,添加以下语句: 1 | X.X.X.X drupal7.firehare.me |
其中 X.X.X.X 是指虚拟主机所在服务器的IP地址。这样就可以在自己的机器上直接接入DNS域名来访问虚拟主机。
启用Apache2的ReWrite模块
1 2 | sudo a2enmod rewrite sudo service apache2 restart |
2、下载Drupal7的安装包:
1 | wget http: //ftp .drupal.org /files/projects/drupal-7 .XX. tar .gz |
其中XX为最新的版本号
3、将安装包中文件解压至Drupal7的工作目录
1 2 | tar -xvzf drupal- 7 .XX.tar.gz mv drupal- 7 .XX/* drupal- 7 .XX/.htaccess drupal- 7 .XX/.gitignore / var /www/drupal7 |
4、创建上传目录
1 2 3 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、创建站点配置文件
1 2 | 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数据库
1 | mysqladmin -u root -p create drupal |
密码为安装MySQL时的root用户密码!然后创建Drupal7的数据库用户
1 2 3 4 | 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、浏览器安装
1 | http: //drupal7 .firehare.me /install .php |
打开浏览器,在地址栏中输入上面的地址,根据提示进行安装。
安装到最后一步,需要将站点配置文件的权限还原
1 | sudo chmod 644 /var/www/drupal/sites/default/settings .php |
这样就可以访问Drupal7了!
本文转自 firehare 51CTO博客,原文链接:http://blog.51cto.com/firehare/1404063,如需转载请自行联系原作者