一对一免费咨询: 13913005726 025-66045668

本文将描述如何在Linux上一步一步安装运行Drupal 7所需的软件、模块及数据库,如果嫌麻烦你也可以直接安装XAMPP,但你也错过了安装过程的一些要点。

注:为方便初学者,以下安装方式没有特别说明均采用图形化的安装方式且直接安装二进制软件包,运行系统-管理-添加删除软件(gpk-application),如果你的水平比较高完全可以参照安装步骤使用命令安装或编译安装。各软件的配置涉及过广,本人水平有限只涉及能正确运行Drupal的最基本配置,高水平用户可以根据自身需求更改配置。

1、安装Linux

这里选用CentOS 6,一款基于RHEL 6源代码重新编译的Linux,可以看作是RHEL的替代品。它的安装还算简单,安装时选中桌张掖网站建设公司面包以便以下步骤以图形化安装,如是要展开讲的话又涉及服务器领域,篇幅过长,初学者请自行搜索。

地址:http://www.centos.org/

2、安装Apache 2、PHP 5、postgreSQL 9

①、安装Apache 2

查找httpd,安装自动选中的项。

②、安装PHP 5

查找php,安装自动选中的项。

③、安装PostgreSQL 9

这里采用PostgreSQL数据库,而没有采用常见的MySQL数据库。PostgreSQL相对MySQL更适合企业,具有MySQL不具有的企业特性。我的网站主要是面向内部企业用户,如果建立面向互联网的网站,使用MySQL足矣。

CentOS中的默认的软件源包含的PostgreSQL版本是8.4,安装最新的9.0必须先从PostgreSQL官网下载一个Yum Repository(http://yum.pgrpms.org/reporpms/repoview/letter_p.group.html),选择适合CentOS的pgdg_centos(http://yum.pgrpms.org/reporpms/repoview/pgdg-centos.html),下载最新的PostgreSQL 9.0稳定版的Yum Repository(pgdg-centos-9.0-2.noarch,http://yum.pgrpms.org/reporpms/9.0/pgdg-centos-9.0-2.noarch.rpm),直接安装后就可以在添加删除软件中找到最新的9.0,本文编写时最新的稳定版本是9.0.4,找到postgresql90-server-9.0.4-1PGDG.rhel6安装,会提示同时安装以下软件,确定。

3、配置httpd.conf

现在的图形化安装方式相当傻瓜,配置文件均采用模块化配置,/etc/httpd/conf.d/目录下面的*.conf文件都永州网站建设公司会被httpd.conf文件include,PHP安装完成后会自动在该目录下新建php.conf配置文件以便Apache支持,所以如果drupal源代码放在默认站点目录下,都不需要更改httpd.conf文件。这里直接采用默认的/var/www/html/目录做为站点。

php.conf的内容也就是网上流传的修改httpd.conf文件以支持PHP的内容,无非就是

LoadModule php5_module

AddType text/html .php

等等内容。

4、安装PHP扩展模块

上面安装的PHP只具有基本模块,Drupal还需要一些额外模块。

①、安装PHP dom扩展

查找php-xml安装。

②、安装PHP gd扩展

查找php-gd安装。

③、安装PHP pdo扩展

查找php-pdo安装。

④、安装PHP mbstring扩展

该扩展并非强制性的,可以加强Unicode支持,Drupal建议安装,查找php-mbstring安装。

⑤、安装PHP postgreSQL数据库支持扩展

本文采用PostgreSQL数据库,必须安装本扩展,否则Drupal仅支持SQLite3数据库,查找php-pgsql安装。MySQL数据库查找php-mysql。

⑥、安装PECL uploadprogress扩展

该扩展并非强制性的,本扩展是上传进度条扩展,能显示文件上传速度、完成情况。APC也支持上传进度条,但Drupal推荐安装uploadprogress。

软件源中没有提供二进制包,需要编译。首先在添加删除软件中查找安装php-devel软件包,该软件包包含编译PHP扩展的phpize软件。第二步,下载傻瓜化的PHP扩展安装编译软件:go-pear。

# wget http://pear.php.net/go-pear.phar (原来的go-pear不支持PHP 5.3)

# php go-pear.phar (确认,进行安装)

# pecl install 免费公司网站建设 uploadprogress

uploadprogress.so会自动安装到/usr/lib(64)/php/modules/下。

最后在/etc/php.d/下新建uploadprogress.ini文件,内容为:

extension=uploadprogress.so

同3,/etc/php.d/下的配置文件会自动被php.ini包含,不需直接修改/etc/php.ini文件。

5、安装PGAdmin3管理工具

本步骤可选,PGAdmin3是PostgreSQL的图形化管理工具,可以轻松管理数据库和pg_hba.conf、postgresql.conf等文件。

①、安装wxGTK库

PGAdmin3采用wxWidgets作GUI,wxWidgets在Linux下必须依赖GTK+库,需要安装wxGTK库。软件源中没有提供二进制包,可以从官网下载源代码自行编译,这里采用第二种方法:在http://rpm.pbone.net/上搜索wxgtk下载编译好的rpm包安装。没有找到适合CentOS 6或RHEL 6的wxGTK,只找到适合RHEL 5的wxGTK,而且版本比官网源代码要旧一点,安装后发现CentOS 6上也能用。http://rpm.pbone.net/index.php3/stat/4/idpl/16385013/dir/redhat_el_5/com/wxGTK-2.8.9-1.el5.rf.x86_64.rpm.html(64位版)

②、安装PGAdmin3

查找pgadmin3安装第一项。只有安装PostgreSQL官网提供的Yum Repository后才能找到PGAdmin3。

6、初始化、配置数据库

①、初始化数据库

# service postgresql-9.0 initdb

②、新建数据库用户和数据库

# service postgresql-9.0 start

# su postgres (postgres操作系统用户是PostgreSQL在安装时自动创建的用户,仅用于管理数据库)

$ createuser --pwprompt --encrypted --no-adduser --no-createdb drupal (新建名为drupal的数据库用户,本用户给Drupal使用)

$ (提示输入drupal用户口令)

$ createdb --encoding=UNICODE --owner=drupal drupaldb (新建名为drupaldb的库,作为Drupal的数据库,拥有者为drupal)

③、修改客户端认证配置文件

pg_hba.conf是PostgreSQL的客户端认证配置文件,阻止或认证客户端由其内容决定。pg_hba.conf的用法详见《PostgreSQL pg_hba.conf 文件简析》。

添加内容:

host drupaldb drupal 127.0.0.1/32 md5

让Drupal在本地可以使用drupal用户连接到drupaldb数据库,这里只希望本地连接数据库,不希望其他用户通过网络连接数据库,所以注释掉其他以host开头的行。

修改完后让数据库重新读取该配置,不需重启:

$ /usr/pgsql-9.0/bin/pg_ctl reload -D /var/lib/pgsql/9.0/data/

7、启动服务

按照CentOS 6桌面包默认安装,Apache应该没有启动,要设置Apache和PostgreSQL开机时能自行启动。

# chkconfig httpd on

# chkconfig postgresql-9.0 on

3# chkconfig --list (看看上述两个服务在level 2、3、4、5是否是启动)

# service httpd start

# service postgresql-9.0 start (PostgreSQL在第6步时已经启动,如果没有要启动)

# service httpd restart (如果Apache在PHP和扩展安装前启动了,在PHP和扩展安装后需要重启动)

8、配置SELinux

SELinux是Linux上的强制访问控制安全模块,因为配置复杂、学习难度大,许多网友建议关闭它,我认为它是系统被攻破后的最后一道防线,建议大家迎难而上学会它,不建议关闭。

在后面Drupal安装数据库时会出现数据库连接失败,SQLSTATE[08006][7]错误,这不是因为数据库没有启动,而是SELinux会阻止httpd进程连接PostgreSQL的监听端口,也就是TCP 5432端口(PostgreSQL默认端口),我们不需要关闭SELinux,只需要打开一个小选项即可,允许httpd进程连接数据库端口。

# setsebool httpd_can_network_connect_db 镇江网站建设公司 on

SELinux也可能会阻止httpd进程读取修改Drupal文件,这种问题发生在Drupal文件不在Apache的默认站点目录的情况下,常发生在自己定制Apache的情况下,另一种发生在用mv而不是用cp移动Drupal目录的情况下,mv移动文件将会保持文件目录的原权限和原SELinux类型不变,而cp复制文件会使复制后的文件目录继承目标目录的权限和SELinux类型。必须设置Drupal目录的SELinux类型为httpd_sys_content_t以便httpd进程能正常读取和修改:

# chcon -R -t httpd_sys_content_t drupal

9、下载Drupal和中文语言包

①、下载Drupal

以上全是准备工作,下面才真正进入安装Drupal的过程。

在http://drupal.org/download下载Drupal Core和Translations Chinese,Simplified,本文是7.7版本。

②、拷贝语言包

将Drupal 7.7解压到本地,重命名目录为drupal。

拷贝中文语言包到drupal目录中

# cp drupal-7.7.zh-hans.po drupal/profiles/standard/translations/

③、将Drupal拷贝到站点目录下

# cp -r drupal /var/www/html/

这里采用默认站点目录。

10、更改Drupal文件权限

安装时Drupal需要新建和修改文件,需要相应写权限。

# cd /var/www/html/drupal/sites

# chmod o+w default

# cd default

# cp default.settings.php settings.php (复制配置模板文件)

# chmod o+w settings.php


 


 南京牧狼文化传媒有限公司简介:


      牧狼传媒,牧者之心,狼者之性,以牧之谦卑宽容之心待人,以狼之团结无畏之性做事!


  公司注册资金100万,主营众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放以及电商营销推广全案等相关业务,致力于为客户提供更有价值的服务,创造让用户满意的效果!


  为百度官方及其大客户、苏宁易购、金山WPS秀堂、美的、创维家电、新东方在线、伊莱克斯、宝丽莱等国内国外知名品牌服务过,服务经验丰富!同时,公司也是南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位,可以为您提供更好的服务!


  主营项目:众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放、竞价托管、网站优化、电商代运营等


  合作客户:百度、苏宁易购、饿了么、美的、创维家电、新东方在线、宝丽莱、金山WPS秀堂、伊莱克斯


  资质荣誉:百度商业服务市场2017年度最佳图片服务商、南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位、八戒通TOP服务商、"易拍即合杯"H5创意大赛"三等奖"。



致力于为客户创造更多价值
13913005726 025-66045668
需求提交
电话咨询
在线咨询