简介
Drupal 是一个运行在lamp(linux+apache+mysql+php)上的健壮的内容管理系统,默认的数据库是mysql,但是drupal也支持持PostgreSQL数据库,
.最近的ubuntu发行版在仓库中都包含了drupal6和drupal7,这也是ubuntu仅支持的两个drupal版本,在选择drupal版本时请注意!
LAMP 系统安装
使用其他方法安装lamp,请访问 Apache PHP MySQL
简单方法安装lamp
最简易的方式是使用终端命令行安装整个lamp包
sudo tasksel install lamp-server
如果你的系统不支持tasksel命令,请安装:
sudo apt-get install tasksel
我(可选)也推荐启用apache2的rewrite功能,它对drupal的很多模块和apache服务器的页面重定向很有帮助
编辑文件 "/etc/apache2/sites-available/default" ,修改每一处的 "AllowOverride none" 为 "AllowOverride All", 然后执行:
sudo gedit /etc/apache2/sites-available/default
sudo a2enmod rewrite
sudo service apache2 restart
Drupal 安装
备注:下列两种安装方法是不兼容的,从ubuntu包(仓库中)和人工安装的目录是不同的,选择一种安装方式,不要尝试同时使用,不支持两种方式切换
从ubuntu仓库中安装drupal包
你可以在ubuntu仓库中选择安装drupal6 或者drupal 7,如往常一样,仓库中的版本不是最新的,但是可以很容易的更新
sudo apt-get install drupal6
或者
sudo apt-get install drupal7
允许 dbconfig-common 配置你的数据库 (默认数据库: MySQL)
然后,向apache注册drupal模块:
sudo cp /etc/drupal/6/apache2.conf /etc/apache2/mods-enabled/drupal.conf
或者
sudo cp /etc/drupal/7/apache2.conf /etc/apache2/mods-enabled/drupal.conf
最后,重启apache服务器:
sudo service apache2 restart
手动安装drupal
以下步骤以drupal7系列中的drupal 7.25版本为例,它是写这篇文章时的最新版本(该步骤也通用drupal6)
wget http://ftp.drupal.org/files/projects/drupal-7.25.tar.gz
tar -xvzf drupal-7.25.tar.gz
sudo mkdir /var/www/drupal
sudo mv drupal-7.25/* drupal-7.25/.htaccess drupal-7.25/.gitignore /var/www/drupal
需要在drupal默认的站点安装目录下新建一个子文件夹,用来存放定制的logo,用户名和其他的你的新站点的媒体文件。
sudo mkdir /var/www/drupal/sites/default/files
sudo chown www-data:www-data /var/www/drupal/sites/default/files
也需要为默认站点创建一个启动配置文件.
sudo cp /var/www/drupal/sites/default/default.settings.php /var/www/drupal/sites/default/settings.php
sudo chown www-data:www-data /var/www/drupal/sites/default/settings.php
为Drupal手工配置mysql数据库
你需要为drupal创建一个数据库用来导入drupal的数据库表,可以通过phpmyadmin或者命令行创建该数据库
mysqladmin -u root -p create drupal
为drupal创建一个名为drupal的数据库,当然,你可以自定义该数据库名
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';
你肯定不想drupal使用root账号连接数据库,上面命令创建了一个拥有一定权限的不同于mysql root的数据库用户:drupaluser ,drupalpass ,你可以使用其他用户名和密码来替换drupaluser和drupalpass,如果命令成功激活新的权限:
mysql> FLUSH PRIVILEGES;
退出mysql命令:
mysql> \q
为drupal配置 PostgreSQL 数据库
编辑 /var/www/drupal/sites/default/settings.php 文件,指定drupal使用的用户名,密码和数据库
sudo gedit /var/www/drupal/sites/default/settings.php
* Database URL format:
$db_url = 'pgsql://username:password@localhost/databasename';
where username = drupaluser password = drupaluserpass databasename = drupaldb
重启 Apache
最后重启Apache2.
sudo service apache2 restart
使用浏览器完成drupal的最终安装
最后,在浏览器里输入 http://localhost/drupal/install.php (或者可能是 http://localhost/drupal6/install.php 或者 http://localhost/drupal7/install.php 如果安装使用的是官方仓库),创建一个账号,登陆,按照安装指示连接数据库,然后配置你的站点 ,第一个账号将会自动的成为拥有所有权限的主要管理账户
安装Drupal 7 的特殊问题
当你在本地安装drupal 7 的时候,可能会遇到关于“模块” “主题” 和 “邮件认证”的特殊问题
安装新模块
当安装一个新的模块的时候,可能会遇到下列错误:
"WARNING: You are not using an encrypted connection, so your password will be sent in plain text. Learn more."
"To continue, provide your server connection details"
该警告提示有点儿误导,错误是有服务器的目录写权限引起的
写权限
如果你不担心安全问题,最快的解决方式是更改写权限
当apache的用户是 www-data(apache默认的,ngnix也是默认的):
sudo chown www-data:www-data -R /var/www/drupal/sites
命令行
安全的解决方式是通过ssh的命令行方式解决,慢但是更安全
例如: 安装Wysiwyg
wget http://ftp.drupal.org/files/projects/wysiwyg-7.x-2.1.tar.gz
tar -xvzf wysiwyg-7.x-2.1.tar.gz
sudo mkdir -p /var/www/drupal/sites/all/modules/wysiwyg
sudo mv wysiwyg/* /var/www/drupal/sites/all/modules/wysiwyg
Wysiwvg 需要客户方的编辑器, CKEditor 运行以下
wget http://download.cksource.com/CKEditor/CKEditor/CKEditor%203.6.1/ckeditor_3.6.1.tar.gz
tar -xvzf ckeditor_3.6.1.tar.gz
sudo mkdir -p /var/www/drupal/sites/all/libraries/ckeditor
sudo mv ckeditor/* /var/www/drupal/sites/all/libraries/ckeditor
调整php内存限制
你应该增加默认的php内存限制值(内存值用来支持运行脚本),默认的8M是不够的,使用96M或者160M,如果你想使用图形界面(尽管基本的32m足够了)
在drupal6的较新版本中,简单的你可以编辑settiings.php文件增加下列值
ini_set('memory_limit', '96M');