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、整合NginxPHP,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測試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.www58058.com/8712

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

相關推薦

  • 數組

    數組 變量:存儲單個元素的內存空間 數組:存儲多個元素的連續的內存空間,相當于多個變量的集合 數組名和索引 索引:編號從0開始,屬于數值索引 注意:索引可支持使用自定義的格式,而不僅是數值格式,即為關聯索引, 八十的數組支持稀疏格式(索引不連續 聲明數組: Declare -a ARRAY_NAME Declare -A ARRAY_NAME:關聯數組 注意…

    Linux干貨 2018-01-02
  • dns配置

    dns

    Linux干貨 2018-01-22
  • 設計模式 ( 二十 ) 訪問者模式Visitor(對象行為型)

    特此說明:對訪問者模式理解不是特別透徹,若有誤,請指正,謝謝! 1.概述 在軟件開發過程中,對于系統中的某些對象,它們存儲在同一個集合collection中,且具有不同的類型,而且對于該集合中的對象,可以接受一類稱為訪問者的對象來訪問,而且不同的訪問者其訪問方式有所不同。 例子1:顧客在超市中將選擇的商品,如蘋果、圖書等放在購物車中,然后到收銀員處付款。在購…

    Linux干貨 2015-04-07
  • N22-第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。     首先用who命令查看所有已登錄用戶信息,然后用cut命令取出用戶名,再用sort -u對用戶名排序并刪除重復的用戶名      2、取出最后登錄到當前系統的用戶的相關信息。  &n…

    Linux干貨 2016-09-05
  • 文件元數據信息詳解

    文件元數據信息詳解 文件的元數據是什么? 文件的數據分為兩類:一類為數據,即文件的實際內容;另一類為元數據,用來描述文件的特征。 元數據內容: 文件名 文件大小 文件所在數據塊 數據塊的大小 文件類型 文件所在的Inode 硬鏈接次數 權限 屬主id 屬組id 最近一次訪問時間戳 最近一次更改文件內容的時間戳 最近一次更改文件元數據的時間戳 查看文件的元數據…

    Linux干貨 2017-07-09
  • 正則表達式以及Linux文本搜索工具grep

    一正則表達式 regual Expression  簡稱REGEXP 定義:由一類特殊字符以及文本字所編寫的模式,其中有些字符不表示其字面意義,而用于統配和統配功能 分類:     基本正則表達式:BRE 貪婪模式(盡可能長地去匹配符合模式的內容     擴展表達式:E…

    Linux干貨 2016-08-07
欧美性久久久久