1. 程式人生 > >學習筆記之使用LNMP安裝DISCUZ論壇系統簡述(三)

學習筆記之使用LNMP安裝DISCUZ論壇系統簡述(三)

安裝過程參考劉遄老師的《LINUX 就該這麼學》 配置 PHP 服務 yasm 原始碼包是一款常見的開源彙編器,其解壓、編譯、安裝過程

# tar zxvf yasm-1.2.0.tar.gz
# cd yasm-1.2.0
# ./configure
# make
# make install

libmcrypt 原始碼包是用於加密演算法的擴充套件庫程式,其解壓、編譯、安裝過程

# tar zxvf libmcrypt-2.5.8.tar.gz
# cd libmcrypt-2.5.8
# ./configure
# make
# make install

libvpx 原始碼包是用於提供視訊編碼器的服務程式,其解壓、編譯、安裝過程

# tar xjvf libvpx-v1.3.0.tar.bz2
# cd libvpx-v1.3.0
# ./configure --prefix=/usr/local/libvpx --enable-shared --enable-vp9
# make
# make install

tiff 原始碼包是用於提供標籤影象檔案格式的服務程式,其解壓、編譯、安裝過程

# tar zxvf tiff-4.0.3.tar.gz
# cd tiff-4.0.3
# ./configure --prefix=/usr/local/tiff --enable-shared
# make
# make install

libpng原始碼包是用於提供png圖片格式支援函式庫的服務程式,其解壓、編譯、安裝過程

# tar zxvf libpng-1.6.12.tar.gz
# cd libpng-1.6.12
# ./configure --prefix=/usr/local/libpng --enable-shared
# make
# make install

freetype原始碼包是用於提供字型支援引擎的服務程式,其解壓、編譯、安裝過程

# tar zxvf freetype-2.5.3.tar.gz
# cd freetype-2.5.3
# ./configure --prefix=/usr/local/freetype --enable-shared
# make
# make install

jpeg原始碼包是用於提供jpeg圖片格式支援函式庫的服務程式,其解壓、編譯、安裝過程

# tar zxvf jpegsrc.v9a.tar.gz
# cd jpeg-9a
# ./configure --prefix=/usr/local/jpeg --enable-shared
# make
# make install

libgd原始碼包是用於提供圖形處理的服務程式,其解壓、編譯、安裝過程

# tar zxvf libgd-2.1.0.tar.gz
# cd libgd-2.1.0
# ./configure --prefix=/usr/local/libgd --enable-shared --with-jpeg=/usr/local/jpeg --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype --with-fontconfig=/usr/local/freetype --with-xpm=/usr/ --with-tiff=/usr/local/tiff --with-vpx=/usr/local/libvpx
# make
# make install

t1lib原始碼包是用於提供圖片生成函式庫的服務程式,其解壓、編譯、安裝過程。安裝後把/usr/lib64目錄中的函式檔案連結到/usr/lib目錄中

# tar zxvf t1lib-5.1.2.tar.gz
# cd t1lib-5.1.2
# ./configure --prefix=/usr/local/t1lib --enable-shared
# make
# make install
# ln -s /usr/lib64/libltdl.so /usr/lib/libltdl.so 
# cp -frp /usr/lib64/libXpm.so* /usr/lib/

接下來安裝PHP

# tar -zvxf php-5.5.14.tar.gz
# cd php-5.5.14
# export LD_LIBRARY_PATH=/usr/local/libgd/lib
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-vpx-dir=/usr/local/libvpx/ --with-zlib-dir=/usr/local/zlib --with-t1lib=/usr/local/t1lib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --enable-ctype 
# make
# make install

在php原始碼包程式安裝完成後,需要刪除當前預設的配置檔案,然後將php服務程式目錄中相應的配置檔案複製過來

# rm -rf /etc/php.ini
# ln -s /usr/local/php/etc/php.ini /etc/php.ini
# cp php.ini-production /usr/local/php/etc/php.ini
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf

修改php-fpm.conf檔案 第25行

[global]
; Pid file
; Note: the default prefix is /usr/local/php/var
; Default Value: none
pid = run/php-fpm.pid

第148、149行

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www
group = www

把用於管理php服務的指令碼檔案複製到/etc/rc.d/init.d並賦予777許可權,把php-fpm服務程式加入到開機啟動項中

# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
# chmod 755 /etc/rc.d/init.d/php-fpm
# chkconfig php-fpm on

編輯php.ini檔案 第305行

; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
; http://php.net/disable-functions
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restor e,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,g etservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,po six_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_ getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_ setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

修改nginx.conf 第2行

user www www;
worker_processes  1;

第45行

location / {
    root   html;
    index index.html index.htm index.php;
}

刪除65~71的“#”號並修改第69行

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

重啟Nginx服務與php-fpm服務

# systemctl restart nginx
# systemctl restart php-fpm

搭建Discuz論壇

# unzip Discuz_X3.2_SC_GBK.zip
# rm -rf /usr/local/nginx/html/{index.html,50x.html}*
# mv upload/* /usr/local/nginx/html/
# chown -Rf www:www /usr/local/nginx/html
# chmod -Rf 755 /usr/local/nginx/html

在瀏覽器中輸入本機ip地址開始安裝Discuz論壇 在這裡插入圖片描述 安裝完成 在這裡插入圖片描述 登陸測試 在這裡插入圖片描述