LNMP内网部署wiki

需求:内部人员经常到查阅资料,考虑在内网搭建wiki站点。

实验拓扑:

实验环境:

Nginx,PHP:192.168.198.160

MySQL:10.0.0.8

软件包:

HDWiki-v5.1UTF8-20141205.zip

nginx-1.8.0.tar.gz

xcache-3.2.0.tar.gz

mysql-5.5.46-linux2.6-x86_64.tar.gz

php-5.3.27.tar.bz2

1、安装Nginx

1.1准备

ntpdate 202.120.2.101
yum install pcre-devel -y  #解决依赖关系
useradd -r -s /sbin/nologin nginx #添加Nginx用户和组

1.2编译安装

cd /tools
tar -xf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install

1.3 提供配置文件  (这一步在编译PHP的时候进行,节约时间)

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  wiki.edelweiss0.com;
        location / {
            root   html/wiki;
            index  index.html index.htm index.php;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ \.php$ {
            root           html/wiki;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi.conf;
        }
   
   }
}

2、安装PHP

2.1解决依赖关系

yum install zlib libxml libjpeg freetype libpng gd  curl  zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel openssl-devel libxslt-devel -y
wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
#如果有依赖关系报错,自行百度,安装相应的软件包即可

2.2编译安装

tar -xf php-5.3.27.tar.bz2
cd php-5.3.27
./configure --prefix=/usr/local/php --enable-fpm --with-mysql=mysqlnd  --with-pdo-mysql=mysqlnd  --with-mysqli=mysqlnd  --with-xmlrpc --with-openssl --with-zlib --with-freetype-dir --with-gd --with-jpeg-dir --with-png-dir --with-iconv=/usr/local/libiconv --enable-short-tags --enable-sockets --enable-soap --enable-mbstring --enable-static --enable-gd-native-ttf --with-curl --with-xsl --enable-ftp --with-libxml-dir --with-fpm-user=nginx --with-fpm-group=nginx --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d
#这是某运维老鸟说的他企业里都是这么配置的,不需要更改。可自行搜索
make && make install   #这里需要等待一段时间了,可以同时进行第三步操作

2.3为php提供配置文件,以fastcgi方式监听在9000端口

cp php.ini-production /etc/php.ini   #为php提供配置文件
cd /usr/local/php/
cp etc/php-fpm.conf.default etc/php-fpm.conf    #如果要实现php和web服务分离可以编辑此文件,这里保持默认

2.4安装与配置xcache加速器

tar -xf xcache-3.2.0.tar.gz    
cd xcache-3.2.0     
/usr/local/php/bin/phpize #注意这里要先解压xcache在运行此命令
./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
make && make install
       #注意输出的最后信息Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
mkdir /etc/php.d   #提供xcache扩展配置文件
cp xcache.ini /etc/php.d/
vim /etc/php.d/xcache.ini
[[email protected] xcache-3.2.0]# diff xcache.ini /etc/php.d/xcache.ini
4c4
< extension = xcache.so
---
> extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/xcache.so

3、安装MySQL(在另一台机器)

3.1准备

mkdir /data
cd /usr/local/src/
       #mysql-5.5.46-linux2.6-x86_64.tar.gz
tar -xf mysql-5.5.46-linux2.6-x86_64.tar.gz -C /usr/local
ln -sv /usr/local/mysql-5.5.46-linux2.6-x86_64/ /usr/local/mysql
groupadd mysql
useradd -g mysql mysql
cd /usr/local/mysql

3.2初始化数据库

chown -R mysql.mysql .
scripts/mysql_install_db --user=mysql --datadir=/data/ --basedir=/usr/local/mysql   #一般出现两个OK代表安装正常

3.3提供配置文件和服务脚本

cp support-files/my-medium.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf‘? y
vim /etc/my.cnf
[[email protected] mysql]# diff /etc/my.cnf support-files/my-medium.cnf
38,39c38
< datadir=/data
< log-error=/data/mysql-err
---
>
cp support-files/mysql.server /etc/init.d/mysqld
service mysqld start
[[email protected] mysql]# ss -tnl | grep 330
LISTEN     0      50                        *:3306                     *:*
 
echo "PATH=/usr/local/mysql/bin:/$PATH" > /etc/profile.d/mysql.sh 
source /etc/profile.d/mysql.sh

3.4为站点提供数据库和用户

mysql> drop database test;   #删除无用的数据库
Query OK, 0 rows affected (0.06 sec)
 
mysql> delete from mysql.user where user=‘‘;  #删除无用的用户
Query OK, 2 rows affected (0.10 sec)
 
mysql> create database wiki;   #创建wiki数据库
Query OK, 1 row affected (0.00 sec)
 
mysql> grant all on wiki.* to ‘wiki‘@‘10.0.0.%‘ identified by ‘123456‘;   #创建并授权wiki数据的用户
Query OK, 0 rows affected (0.05 sec)
 
mysql> flush privileges;  #刷新权限
Query OK, 0 rows affected (0.00 sec)

4、整合Nginx,PHP,MySQL

sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
sbin/nginx
/usr/local/php/sbin/php-fpm

4.1测试Nginx和PHP

mkdir html/wiki
vim html/wiki/index.php
<?php
       phpinfo();
?>

4.2测试PHP和MySQL

#注意防火墙的配置
vim /usr/local/nginx/html/wiki/index.php
<?php
       $link_id=mysql_connect(‘192.168.198.130‘,‘wiki‘,‘123456‘) or mysql_error();
 
       if($link_id){
              echo "mysql successful by yunzhonghe !";
       }else{
              echo mysql_error();
       }
?>

4.3建站

cd /tools/
unzip HDWiki-v5.1UTF8-20141205.zip
mv HDWiki-v5.1UTF8-20121102/* /usr/local/nginx/html/wiki/
chown nginx.nginx -R /usr/local/nginx/

#结果展示

到时候可以自行扩展

5、总结:希望大家有所收获。

时间: 2024-12-14 11:17:30

LNMP内网部署wiki的相关文章

内网部署支持ssl的docker registry

首先需要使用域名或主机名制作证书,自签证书在内网可以使用,因为内网可排除信任问题,自签证书流程可以参考使用自签的证书配置nginx的https. 证书制作完成我们开始部署registry,当前registry v2版已经发布,所以我们使用v2版部署测试,部署之前需要运行docker daemon 1.将制作好的证书copy到/etc/docker/certs.d/${domain}/ca.crt中,注意目录中的domain是registry的域名或主机名,同时也是制作证书时的输入的Common

yapi内网部署 centos

1.部署方案 官方说明: https://hellosean1025.github.io/yapi/devops/index.html 2.需要注意的点 (1)在centos等服务启上最好使用“命令行部署”,因为没有浏览器下可视化步骤. (2)config.json的配置: { "port": "3000", "adminAccount": "[email protected]", "db": { &quo

DLINK 企业路由器内网部署web开启端口转发后还需要开启是否支持端口回流功能

我自己用ac88u在家也有搭建web,开启端口转发就可以了 但是这个di-7100死活就是不行, 无奈之下,打客服吧 告知ip端口和用户名密码之后那边设置了一下 就可以了 完事她给我讲,这里需要设置 然后妹纸把我的 选项去掉了,我说不用开启么?提示说可以提高性能啊 妹纸笑了笑,说,啊,这个啊 然后我秒懂了,哈哈 没用的话,为啥要加呀,哈哈哈 原文地址:https://www.cnblogs.com/jnhs/p/11506312.html

外网訪问内网工具ngrok tunnel 用法

在软件开发測试过程中.我们会常常遇到须要站点部署測试或者给客户演示这种需求.通常的做法是申请一个域名和空间,将站点放到外网上给客户演示. 这样的方法确实可行只是会有两点不好,第一是添加了开支.二是出现故障须要如今自己电脑上改好bug又一次上传到外网. 那么问题来了,有没有一种简单的方法,让客户之间訪问开发人员的电脑上的站点?答案就是以下我将要为大家介绍的外网訪问内网工具ngrok tunnel 的用法. tunnel能够让公网訪问内网部署的网站,对于软件开发測试非常有帮助. 因为国外官网常常被墙

外网访问内网工具ngrok tunnel 使用方法

在软件开发测试过程中,我们会经常遇到需要网站部署测试或者给客户演示这样的需求.通常的做法是申请一个域名和空间,将网站放到外网上给客户演示. 这种方法确实可行不过会有两点不好,第一是增加了开支,二是出现问题需要现在自己电脑上改好bug重新上传到外网. 那么问题来了,有没有一种简单的方法,让客户之间访问开发者的电脑上的网站?答案就是下面我将要为大家介绍的外网访问内网工具ngrok tunnel 的使用方法. tunnel可以让公网访问内网部署的站点,对于软件开发测试很有帮助. 由于国外官网经常被墙(

内网威胁感知与***溯源系统

一.现状与问题 ? ? ? ? 随着<网络安全法>正式成为法律法规,等级保护系列政策更新,"安全" 对于大部分企业来说已成为"强制项".然而,网络空间安全形势日趋复杂和严峻.席卷全球的勒索病毒在全球范围大爆发,对企业的正常工作,造成巨大影响.高级持续性威胁(APT***).鱼叉***.内部员工和外包人员的越权操作,也在不断的威胁着企业核心数据安全. ? ? ? ? 威胁一直存在,但企业安全管理人员却没有相应的技术手段和工具发现问题.定位***源. 二.解

部署内网Docker Registry

目前docker 已经分为社区版 (docker CE)和 商业版(docker EE),最新的版本由原来的1.13直接跳到了17.06,目前由于17.06的刚刚发布,在使用Docker 的时候可以根据自己的需求选择相应的版本. Docker 安装 先移除其他非官方的版本: yum -y remove docker docker-common container-selinux yum -y remove docker-selinux 添加yum源,这里选择1.13的版本: yum instal

在centos下部署docker内网私服

Docker内网私服:docker-registry with nginx & ssl on centos docker-registry既然也是软件应用,自然最简单的方法就是使用官方提供的已经部署好的镜像registry.官方文档中也给出了建议,直接运行sudo docker run -p 5000:5000 registry命令.这样确实能启动一个registry服务器,但是所有上传的镜像其实都是由docker容器管理,放在了/var/lib/docker/....某个目录下.而且一旦删除容

内网环境上部署k8s+docker集群:集群ftp的yum源配置

接触docker已经有一年了,想把做的时候的一些知识分享给大家. 因为公司机房是内网环境无法连接外网,所以这里所有的部署都是基于内网环境进行的. 首先,需要通过ftp服务制作本地的yum源,可以从http://mirrors.163.com/centos/ 上找到对应版本的centos系统,下载该系统的base和extra包到本地. 将下载完成的文件放到服务器的/var/ftp/pub/media/x86_64目录下./var/ftp为ftp服务器的根目录.这里请谨记,ftp一般在系统安装的时候