因为不好找下载集成服务器工具,而且他们自己又打包了一份 php 之类的程序,本身系统就已经有 php 还有数据库什么的了再搞一份受不了,最后选择了手动配置……

这是一个在 Archlinux 上手动从服务器程序开始部署 DiscuzX2.5 的全过程。

有的配置文件比较长,编辑的时候善用搜索 = =。

环境准备

  • 系统:Linux 3.16.4-1-ARCH
  • 服务器与相关软件:
    • nginx 1.6.2-1
    • php 5.6.1-1
    • php-fpm 5.6.1-1
    • mariadb 10.0.14-2
    • discuz x2.5

Discuz 是在这里获取的:http://www.discuz.net/thread-2744369-1-1.html,我选择的是 X2.5 UTF8 简体中文版

其它软件直接全部 pacman -S nginx php php-fpm mariadb 安装即可。

配置 Nginx

配置文件:/etc/nginx/nginx.conf

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; #gzip on; server {
listen 80;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; root /usr/share/nginx/html;
location / {
index index.html index.htm index.php;
#add_header Cache-Control privete;
} location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}

配置 PHP

配置文件: /etc/php/php.ini

open_basedir 中加上 nginx 服务器的根目录( /usr/share/nginx/html/ )。即告诉 php 程序要去解析那个目录下的 php 文件。

open_basedir = /usr/share/nginx/html/:/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/

启用以下扩展。去掉那行开头的分号即可。

extension=curl.so
extension=gd.so
extension=gettext.so
extension=mysql.so
extension=mysqli.so
extension=pdo_mysql.so

配置 php-fpm

配置文件:/etc/php/php-fpm.conf

listen 的值与之前 nginx 配置中的 fastcgi_pass 值保持一致。

listen = /run/php-fpm/php-fpm.sock

配置数据库

设置数据库 root 密码

mysql_secure_installation

启动服务器

注意这些命令都需要 root 权限。

让服务器开机运行。

systemctl enable nginx.service
systemctl enable mysqld.service
systemctl enable php-fpm.service

启动服务器

systemctl start nginx.service
systemctl start mysqld.service
systemctl start php-fpm.service

安装 Discuz

将下载下来的 Discuz 程序包解压,将其中的 upload 文件夹复制到 nginx 服务器的目录下( /usr/share/nginx/html/ )。

打开浏览器,打开http://localhost/upload/install/

如果世界和平,你的配置一切正常的话,你应该会看到 Dizcuz 的使用协议页面,点击同意之后进入安装向导,向导会自动检测环境,如果你遇到了有 目录文件 没有权限或者找不到目录的话,使用 chmod 设置一下nginx 目录的文件权限。

chmod -R a+rwx /usr/share/nginx/html/

接下来一步创建数据库。大部分设置顾名思义即可。

数据库用户名:root
数据库密码:之前配置数据库的时候创建的root密码

下一步进行安装,世界和平。

之后会询问你是否开通 Discuz 云平台,直接点右边小字暂不开通。之后自动进入论坛。

接下来就随便你玩了。

Archlinux 上 Nginx + PHP + Mariadb + DiscuzX2.5 安装小记的更多相关文章

  1. centos7 部署 nginx+tomcat+MariaDB 环境并安装安全狗,使用natapp隧道

    jdk安装: -openjdk 参考:https://blog.csdn.net/dhr201499/article/details/81626466 tomcat安装: 使用版本:8.5.37 参考 ...

  2. Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Mariadb 10.1.20 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

  3. CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

    原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作 ...

  4. Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Openssl 1.1.0e + Mariadb 10.1.22 + Nginx 1.12.0 + PHP 7.1.4 + Laravel 5.4 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

  5. Centos7 编译安装 Nginx PHP Mariadb Memcache扩展 ZendOpcache扩展 (实测 笔记 Centos 7.0 + Mariadb 10.1.9 + Nginx 1.9.9 + PHP 5.5.30)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1503-01.iso 安装步骤: 1.准备 1.1 ...

  6. CentOS 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

    转载自:https://linux.cn/article-4314-1.html 编译自:http://xmodulo.com/install-lemp-stack-centos.html 作者: D ...

  7. Centos7 编译安装 Nginx、MariaDB、PHP

    前言 本文主要大致介绍CentOS 7下编译安装Nginx.MariaDB.PHP.面向有Linux基础且爱好钻研的朋友.技艺不精,疏漏再所难免,还望指正. 环境简介: 系统: CentOS 7,最小 ...

  8. 树莓派安装配置Nginx+PHP7+MariaDB

    原文地址:http://blog.sina.com.cn/s/blog_150f554f50102yhra.html 一.安装 Nginx 和 PHP7 1.安装Nginx sudo apt inst ...

  9. [转载]CentOS 下安装LEMP服务(Nginx、MariaDB/MySQL和PHP)

    LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作用.正如其名称所暗示的, LEMP 包是由 Linux.nginx.MariaDB/MySQL 和 P ...

随机推荐

  1. EntityFramwork入门

    原blog https://msdn.microsoft.com/zh-cn/data/ee712907 本人测试环境:VS2015+SQL Server 2008 R2 遇到问题 使用SQL Man ...

  2. solaris查看内存、CUP、硬盘总数和使用情况

    一.内存查询1,查询总内存-bash-3.00# prtconf | grep Memory结果为:Memory size: 28672 Megabytes即总内存为 28672M 2,查询剩余内存和 ...

  3. python 序列化 json pickle

    python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件 ...

  4. Orcle基本语句(三)

    COMMIT; --查询表内所有内容 SELECT * FROM stu_info; --查询部分列,并赋予别名 SELECT stu_id 学生标号,stu_name 学生姓名 FROM stu_i ...

  5. All About Python

    Part one: Learn the Basics Hello, World! print "Hello,World!" Variables and Types Python i ...

  6. Oracle数据库根据时间查询

    ' and trans_dt between to_date('2010-12-01 00:00:00','YYYY-MM-DD HH24:MI:SS') and to_date('2011-12-3 ...

  7. 318. Maximum Product of Word Lengths

    Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the tw ...

  8. sqlserver 查看正在执行sql

    SELECT    [session_id],  [request_id],  [cpu_time],  [start_time] AS '开始时间',  [status] AS '状态',  [co ...

  9. AngularJS作出简单聊天机器人

    简单聊天机器人 很初级的对话框形式.以前做对话框使用js,今天尝试使用AngularJS做出来 这里直接使用自己写的JSON数据. <!DOCTYPE html> <html lan ...

  10. Unknown column 'a.root_id' in 'where clause'解决方法

    最近遇到一个问题, update  sy_user as a inner join sy_user_charge_log as b on b.username=a.username set recon ...