安装Drupal 7.50

本文记录了在Linux(CentOS 7.2),Nginx(1.11.1)+MariaDB(10.1.7)+PHP(7.0.8)环境下安装Drupal7.50的过程,供大家参考:

一、安装Nginx 1.11.1

来自 http://www.nginx.cn/install
nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。
正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。
centos平台编译环境使用如下指令:

1.安装make:
切换到root用户

su
yum -y install gcc automake autoconf libtool make

2.安装g++:

yum install gcc gcc-c++

一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。
3.选定源码目录/usr/local/src

cd /usr/local/src

4.安装PCRE库
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:

cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
tar -zxvf pcre-8.38.tar.gz
cd pcre-8.38
./configure
make
make install

5.安装zlib库
http://zlib.net/zlib-1.2.8.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:

cd /usr/local/src
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install

6.安装ssl(某些vps默认没装ssl)

cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
tar -zxvf openssl-1.0.1c.tar.gz

7.安装Nginx
Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

cd /usr/local/src
wget http://nginx.org/download/nginx-1.11.1.tar.gz
tar -zxf nginx-1.11.1.tar.gz
cd nginx-1.11.1
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.38 --with-zlib=/usr/local/src/zlib-1.2.8 --with-openssl=/usr/local/src/openssl-1.0.1c
make
make install

注:
--with-pcre=/usr/src/pcre-8.34 指的是pcre-8.34 的源码路径。
--with-zlib=/usr/src/zlib-1.2.8 指的是zlib-1.2.8 的源码路径。
安装成功后 /usr/local/nginx 目录下如下
client_body_temp logs proxy_temp
fastcgi.conf mime.types scgi_params
fastcgi.conf.default mime.types.default scgi_params.default
fastcgi_params nginx scgi_temp
fastcgi_params.default nginx.conf uwsgi_params
fastcgi_temp uwsgi_params.default
html uwsgi_temp
koi-utf nginx.pid win-utf
koi-win
8.启动Nginx
确保系统的 80 端口没被其他程序占用:

netstat -ano | grep 80

启动 Nginx:

/usr/local/nginx/nginx

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。

二、安装PHP7.0.8

1.安装依赖软件包

yum -y install gcc automake autoconf libtool make
yum -y install gcc gcc-c++ glibc
yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel

2.选定源码目录为/usr/local/src并下载PHP源码包

cd /usr/local/src && wget http://cn2.php.net/distributions/php-7.0.8.tar.bz2

3.解压源码包

tar -jxf php-7.0.8.tar.bz2

4.改变路径并配置PHP

cd php-7.0.8
./configure --prefix=/usr/local/php  --enable-fpm --with-mcrypt --enable-mbstring --with-curl --disable-debug  --disable-rpath --enable-inline-optimization --with-bz2  --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-gd --with-jpeg-dir --with-pdo-mysql --with-mysql-sock=/var/lib/mysql/mysql.sock --enable-mysqlnd --with-zlib-dir=/usr/local/src/zlib-1.2.8 --with-pcre-dir=/usr/local/src/pcre-8.38

注:--with-mysql-sock参数指定主机mysql.sock文件位置
--with-openssl=/usr/local/src/openssl-1.0.1c

5.编译并安装

make all install

注:花费时间较多,需耐心等待

6.为php-fpm新建用户组和用户

groupadd www-data && useradd -g www-data www-data

7.配置php-fpm.conf文件

cd /usr/local/php && cp etc/php-fpm.conf.default etc/php-fpm.conf
vi etc/php-fpm.conf

将pid = run/php-fpm.pid前的分号(即";")删除;

8.配置www.conf文件

cp etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf

修改www.conf中的用户配置:

vi php-fpm.d/www.conf

修改成:

user = www-data
group = www-data

注:可是其他用户或用户组

9.新建测试php文件

cd /usr/local/nginx/html && vi index.php

输入:

<?php
    echo phpinfo();
?>

10.配置Nginx.conf文件
首先备份

cd /usr/local/nginx && mv nginx.conf nginx.conf.201507061233 && vi nginx.conf

注:201507061233为备份时间
粘贴以下内容

user nobody;
worker_processes  1;
events {
    use   epoll;
    worker_connections  1024
}
http {
    nclude    mime.types;
    default_type  application/octet-stream;
    #设定日志格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
    sendfile     on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay     on;
    gzip  on;
    gzip_disable "MSIE [1-6].";
    client_header_buffer_size    128k;
    large_client_header_buffers  4 128k;
    server {
        listen    80;
        #设置你的站点名称;
        server_name  your_site_name;
        root html;
        access_log  logs/nginx.access.log  main;
        location / {
            index index.php index.html index.htm;   

        }
        error_page   500 502 503 504 /50x.html;
        location = /50x.html {
        }
        location ~ ^/(images|javascript|js|css|flash|media|static)/ {
            expires 30d;
        }
        location ~ .php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
            location ~ /.ht {
            deny all;
        }

    }
}

11.启动php-fpm和Nginx

/usr/local/php/sbin/php-fpm
/usr/local/nginx/nginx

12.检验
打开浏览器访问此机器的IP,如果浏览器出现PHP信息则表示PHP已经安装并运行成功。

三、安装MariaDB

1.安装MariaDB

yum install mariadb-server

2.启动MariaDB

systemctl start mariadb.service

3.设置数据库root密码

mysqladmin -u root password j4i2g0a5

4.安全配置

mysql_secure_installation

在命令行根据提示输入:
显示Enter current password for root (enter for none):
输入数据库根密码
显示Change the root password? [Y/n] : n
(已有密码,不需要重新设)
下面的全选Y,去除数据库不安全的默认设置:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
这样一些默认不安全的设置就被去除了。由于数据库root不能远程登录, 所以需要一个新的普通帐户

5.登陆数据库

mysql -u root -p j4i2g0a5

6.新建数据库用户并赋权

CREATE USER 'drupal'@'%' IDENTIFIED BY 'drupal';
GRANT ALL PRIVILEGES ON . TO 'drupal'@'%';

注:新建了用户drupal,其密码为drupal,后面会使用到

7.检验

mysql -u drupal -p

输入密码后进入数据库命令行则说明MariaDB安装成功;
创建drupal7.44所需的数据库:

create database drupal7;

**

四、安装Drupal 7.50

**
1.使用www-data用户下载并解压Drupal 7.50源码包
将/var/www及其所有子文件(夹)的拥有者改变为www-data(php-fpm的执行用户为www-data)

chown -R www-data /var/www

切换用户到www-data

su www-data

下载源码包到/usr/local/src/

wget -O /usr/local/src/drupal-7.50.tar.gz https://ftp.drupal.org/files/projects/drupal-7.50.tar.gz

解压

cd /usr/local/src/
tar -zxf drupal-7.50.tar.gz

复制内容到/var/www

cp -r drupal-7.50/drupal/* /var/www

2.下载中文翻译汉化包
若安装Standard版:

mkdir -p /var/www/profiles/standard/translations/
wget -O /var/www/profiles/standard/translations/drupal-7.50.zh-hans.po http://ftp.drupal.org/files/translations/7.x/drupal/drupal-7.50.zh-hans.po

若安装Minimal版:

mkdir -p /var/www/profiles/minimal/translations/
wget -O /var/www/profiles/minimal/translations/drupal-7.50.zh-hans.po http://ftp.drupal.org/files/minimal/7.x/drupal/drupal-7.50.zh-hans.po

注:
与8不同,7的汉化包在/var/www/profiles/standard(or minimal)/translations/,8在/var/www/sites/default/files/translations/
3.生成settings.php文件

cp /var/www/sites/default/default.settings.php /var/www/sites/default/settings.php

为所有用户添加对settings.php的写权限

chmod a+w /var/www/sites/default/settings.php

4..为所有用户添加对/var/www及其子文件(夹)的读权限

chmod -R a+r /var/www

5.为所有用户添加对/var/www/sites/default/files及其子文件(夹)的写权限

mkdir -p /var/www/sites/default/files
chmod -R a+w /var/www/sites/default/files

6.配置php.ini
首先生成php.ini:

cp /usr/local/src/php-7.0.8/php.ini-development /usr/local/php/lib/
cp /usr/local/php/lib/php.ini-development /usr/local/php/lib/php.ini

注:/usr/local/src/php-7.0.8/为php源代码包(如php-7.0.8.tar.bz2)解压路径;

vi /usr/local/php/lib/php.ini

以下内容在php.ini中存在,但是默认情况下已被注释,此处请大家粘贴下面代码为便,可根据需要修改参数:

zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/opcache.so
pcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

7.修改/usr/local/nginx/nginx.conf
切换用户到root

su

首先备份:

cd /usr/local/nginx && mv nginx.conf nginx.conf.201507061233

其次,写入新的配置:
vi nginx.conf

user nobody;
worker_processes  1;
events {
    use   epoll;
    worker_connections  1024;
}
http {
    include    mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
    sendfile     on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay     on;
    gzip  on;
    gzip_disable "MSIE [1-6].";
    large_client_header_buffers  4 128k;
    server {
        #侦听81端口
        listen    81;
        #设置你的站点名称;
        server_name  your_site_name;
        root /var/www;
        access_log  logs/nginx.access.log  main;
 location = / {
            root   /var/www;
            index  index.php;
        }
        location / {
            root   /var/www;
            index  index.php index.html;

        if (!-e $request_filename) {
                rewrite  ^/(.*)$  /index.php?q=$1  last;
                break;
            }
        }
    error_page   500 502 503 504 /50x.html;
        location = /50x.html {
        }
        location ~ ^/(images|javascript|js|css|flash|media|static)/ {
            expires 30d;
        }
        location ~ .php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
            location ~ /.ht {
            deny all;
        }
    }
}

8.重启php-fpm
因为前面已启动/php-fpm,要使修改生效,需重启php-fpm;
查看php-fpm的进程描述符(PID):

cat /usr/local/php/var/run/php-fpm.pid

观察输出,假设输出5526
则运行

kill -USR2 5526

注:如要关闭php-fpm则运行

kill -INT 5526

若未启动则运行以下命令将其启动:

/usr/local/php/sbin/php-fpm

9.重启Nginx:

/usr/local/nginx/nginx -s restart

10.检验
使用浏览器访问机器的81端口,可开始安装Drupal,具体流程查看http://drupalchina.cn/node/1929

11.移除一些文件的写权限
所有对sites/default和sites/default/settings.php的必要更改均已完成,所以你现在应该移除它们的写权限以避免安全风险。

chmod -R a-w /var/www/sites/default/files

水平有限,如有谬误敬请指出,感谢。

时间: 2024-08-29 08:22:16

安装Drupal 7.50的相关文章

在Ubuntu中安装Drupal

Drupal是运行在LAMP上强大的内容管理系统(CMS).无需任何附加模块,它就能建立博客.论坛等. 它还有大量的模块,这些模块能给您的站点附加功能,如广告.聊天框.电子商务.各种多媒体工具.即时消息.客户关系管理.友好打印页面.网络摄像头等等. 根据下面的提示在Ubuntu 6.06 (Dapper Drake)中安装Drupal. 安装 老版的Drupal还在源中,但它不再支持更新.最新的版本有更多的模块和主题.同时因为软件包太老,安装Drupal软件包会用php5替换php4. 同样,源

《Drupal实战》——第1章 初识Drupal 1.1 安装Drupal

第1章 初识Drupal 1.1 安装Drupal1.2 访问Drupal后台1.3 让Drupal支持中文1.4 常见配置1.5 添加内容1.6 实现页脚区域1.7 添加一个用户角色"编辑"1.8 安装所见即所得编辑器1.9 小结 1.1 安装Drupal 1.1.1 安装XAMPP 你有没有在本地把Drupal的环境搭建起来过?如果没有的话,那么我推荐你使用XAMPP,因为我使用的就是XAMPP,使用的版本是xampp-win32-1.7.7-VC9-installer,这是Win

在 RHEL、CentOS 及 Fedora 上安装 Drupal 8

Drupal 是一个开源,灵活,高度可拓展和安全的内容管理系统Content Management System(CMS),使用户轻松的创建网站. 它可以使用模块拓展,使用户将内容管理转换为强大的数字解决方案. Drupal 运行在诸如 Apache.IIS.Lighttpd.Cherokee.Nginx 的 Web 服务器上,后端数据库可以使用 MySQL.MongoDB.MariaDB.PostgreSQL.MSSQL Server. 在这篇文章中, 我们会展示在 RHEL 7/6.Cent

如何在RHEL、CentOS及Fedora上安装Drupal 8

Drupal 是一个开源,灵活,高度可拓展和安全的内容管理系统Content Management System(CMS),使用户轻松的创建网站. 它可以使用模块拓展,使用户将内容管理转换为强大的数字解决方案. Drupal 运行在诸如 Apache.IIS.Lighttpd.Cherokee.Nginx 的 Web 服务器上,后端数据库可以使用 MySQL.MongoDB.MariaDB.PostgreSQL.MSSQL Server. 在这篇文章中, 我们会展示在 RHEL 7/6.Cent

Win2003+IIS6+PHP5.33(FastCGI)+MySQl5.1.50安装配置

操作系统:Windows 2003 Server SP2 IIS6.0 所需软件:3个 fcgisetup_1.5_x86_rtw mysql-essential-5.1.50-win32 php-5.3.3-Win32-VC9-x86 请自行下载 一.安装FastCGI 双击运行fcgisetup_1.5_x86_rtw.msi进行安装, 安装后在 C:WINDOWSsystem32inetsrv 目录下产生了五个文件.如下图: 同时在 IIS 的 "Web 服务扩展"里多了 Fas

RedhatAS3.0上安装Apache2+PHP5+MySQL+Resin+SSL+GD+weba

apache|mysql|php5|web 中国IT动力,最新最全的IT技术教程最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论 ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql 服务器 Win200

Solidworks 2013 详细图解安装教程

本文solidworks2013安装环境为系统win7/64位操作系统,以下是安装solidworks2013的详细过程: 安装过程断开网络. 一.用虚拟光驱打开SW2013_sp0_x64_Multilanguage.iso文件或用解压工具解压后双击setup.exe图标: 二.选择单机安装然后按下一步: 三.因为之前安装过2012,他自动填入序列号,如无自动填入可以安装图片的序列号输入进去:0001 0001 0736 0361 JK3Q HDJ3,按下一步: 四.选择取消: 五.选择生成s

Drupal 7.28, Nginx 1.6, PostgreSQL 9.3.4, PHP 5.4, fpm install on CentOS 6.x x64

安装Drupal的系统需求, 需要web server, database, php. https://www.drupal.org/requirements 本文以Drupal 7.28, Nginx 1.6, PostgrSQL 9.3.4, PHP 5.4为例写一下Drupal的部署. 不涉及任何优化, 例如使用fpm, 用unix sock连接效率会更高. 安装参考 https://www.drupal.org/documentation/install 一. nginx 安装, 本文选

云服务器 ECS 建站教程:Drupal建站教程(CentOS7)

Drupal建站教程(CentOS7) Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成.它用于构造提供多种功能和服务的动态网站,能支持从个人博客到大型社区等各种不同应用的网站项目.本文主要说明如何在阿里云ECS上搭建Drupal电子商务网站. 适用对象 适用于熟悉ECS,熟悉Linux系统,刚开始使用阿里云进行建站的用户. 基本流程 使用云服务器 ECS 搭建 Drupal 网站的操作步骤如下: 选购ECS