LNMP内网部署wiki

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

实验拓扑:

MKFY9%TF`DDAF$WCMHLA_WC.png

实验环境:

       NginxPHP192.168.198.160,10.0.0.07

       MySQL10.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.3php提供配置文件,以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
[root@edeiweiss0 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
[root@node1 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
[root@node1 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、整合NginxPHPMySQL

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测试NginxPHP

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

L%EL@RPJW[$B$AX[{{J[68G.png

4.2测试PHPMySQL

#注意防火墙的配置
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();
       }
?>

{1`R{S5]G6Q[R3E0G$28QL1.png

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/

15PL4}}T%GVOPS516QK`AD4.jpg

[226EKPTO@D183KMS9ES8V3.png

#结果展示

2E6FD0081BFF40CE8B5C8146FE71E727.jpg

到时候可以自行扩展

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

原创文章,作者:艾贺,如若转载,请注明出处:http://www.178linux.com/8712

(0)
艾贺艾贺
上一篇 2015-10-14 21:53
下一篇 2015-10-15 16:36

相关推荐

  • keepalived双主模型的实现

    一、简介  keepalived 简介:是服务器高可用的一个重要软件,它的核心组件有vrrp ,stack, checker ,ipvs, warpper, watch dog  它是vrrp协议的实现,原生设计目的为高可用ipvs服务;keepalived能够通过配置文件中定义生成ipvs规则 并能够对RS的健康状态进行检测;vrrp_…

    Linux干货 2016-08-30
  • Linux文件和目录管理类命令初识

    简述 在Linux操作系统使用过程中,因为运维需要频繁的对文件、目录进行操作,所以需要学习一些关于文件、目录的命令 Linux上文件是什么? 「文件」:存储空间存储的一段流式数据,可以按名「存取」这些数据 常见文件类型 -:常规文件d:目录文件b:块设备文件,以「block」为单位进行随机访问,常见设备「硬盘」c:字符设备文件,以「character」为单位…

    Linux干货 2016-11-06
  • 4

    1;复制/etc/skel目录为/home/tuinser1, 要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 #   install -d -m 700 /etc/skel /home/tuser1  #  &nbsp…

    Linux干货 2017-01-16
  • 软链接和硬链接及两者之间的不同

    在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号…

    Linux干货 2016-12-05
  • 一波三折的尝试,windows下通过VMware虚拟机安装windows操作系统

    已经尝试过多次VMware下linux系统的安装,均安装正常,同样环境下安装windows系统会发生什么情况,首先选择的是windows10系统,然而在安装过程中,iso镜像光盘一直无法挂载,在经历更换iso镜像,更换另一台电脑之后,初步判定问题为win10系统iso镜像顺坏,因为同样环境用win7的镜像却能正常挂载,且正常启动到安装系统界面…..
    但是,问题真的会是这样吗?

    2018-03-27
  • 第二周作业新

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 pwd :显示当前所在路径   cd :切换目录   cd – :在上次目录与当前目录之间切换。   cd ~ :切换回自己的家目录   cd . :当前目录      cd .. :切换到…

    2017-02-18