安装Drupal 7.50
2016-07-07 21:44
323 查看
本文记录了在Linux(CentOS 7.2),Nginx(1.11.1)+MariaDB(10.1.7)+PHP(7.0.8)环境下安装Drupal7.50的过程,供大家参考:
nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。
正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。
centos平台编译环境使用如下指令:
1.安装make:
切换到root用户
2.安装g++:
一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。
3.选定源码目录/usr/local/src
4.安装PCRE库
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:
若域名ftp.csx.cam.ac.uk不能解析,请使用131.111.8.115代替;
5.安装zlib库
http://zlib.net/zlib-1.2.8.tar.gz 下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:
6.安装ssl(某些vps默认没装ssl)
7.安装Nginx
Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:
注:
–with-pcre=/usr/src/pcre-8.39 指的是pcre-8.39 的源码路径。
–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 端口没被其他程序占用:
启动 Nginx:
打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
2.选定源码目录为/usr/local/src并下载PHP源码包
一、安装Nginx 1.11.1
来自 http://www.nginx.cn/installnginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。
正式开始前,编译环境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 包:
若域名ftp.csx.cam.ac.uk不能解析,请使用131.111.8.115代替;
cd /usr/local/src wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz tar -zxf pcre-8.39.tar.gz cd pcre-8.39 ./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 -zxf 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 -zxf 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.39 --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.39 指的是pcre-8.39 的源码路径。
–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[/code]
3.解压源码包tar -jxf php-7.0.8.tar.bz2
4.改变路径并配置PHPcd 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.安装MariaDByum install mariadb-server
2.启动MariaDBsystemctl 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-datasu 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[/code]
解压cd /usr/local/src/ tar -zxf drupal-7.50.tar.gz
复制内容到/var/wwwcp -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[/code]
若安装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[/code]
注:
与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
切换用户到rootsu
首先备份:cd /usr/local/nginx && mv nginx.conf nginx.conf.201507061233
其次,写入新的配置:
vi nginx.confuser 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
水平有限,如有谬误敬请指出,感谢。
相关文章推荐
- cookie与session的爱恨情仇
- 为LoadRunner写一个lr_save_float函数
- CrackingtheCodeInterview之递归和动态规划
- 输入与输出
- Ajax - ASP.NET MVC 4 系列
- 单链表(带或不带头结点)的建立、反转和部分反转
- 读《ECMAScript6 入门》记11-13章
- Scala插入排序、归并排序、快速排序
- Fang Fang
- Access sql语句创建表及字段类型
- LoadRunner中调用SHA1算法加密字符串
- LibLinear(SVM包)使用说明之(二)MATLAB接口
- 虚拟机安装 VMware-tools
- 7月7日实习日志
- leetcode: Reorder List
- Exception in thread "main" java.lang.NoClassDefFoundError: scala/Predef
- hdu 1016 Prime Ring Problem
- Git 使用总结
- 剑指Offer:面试题28——字符串的排列(java实现)(待序)
- 实例讲解Linux系统中硬链接与软链接的创建