LAMP+Wordpress

(一)安裝apache

1、安裝apache依賴包

 yum install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel openssl-devel libxml2-devel

2、下載並安裝apache2.2.31

wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.31.tar.gz
tar xf httpd-2.2.31.tar.gz 
cd httpd-2.2.31
./configure \
--prefix=/application/apache2.2.31 \
--enable-deflate \
--enable-expires \
--enable-headers \
--enable-modules=most \
--enable-so \
--with-mpm=worker \
--enable-rewrite
make
make install
ln -s /application/apache2.2.31/ /application/apache
ls -l /application/
總用量 4
lrwxrwxrwx  1 root root   26 6月  27 22:37 apache -> /application/apache2.2.31/
drwxr-xr-x 15 root root 4096 6月  27 22:35 apache2.2.31

3、編寫apache啓動腳本

#!/bin/bash
# chkconfig: 2345 85 15
. /etc/rc.d/init.d/functions
if [ -f /etc/sysconfig/httpd ]; then
        . /etc/sysconfig/httpd
fi
INITLOG_ARGS=""
apachectl=/application/apache/bin/apachectl     (修改)
httpd=/application/apache/bin/httpd             (修改)
pid=$httpd/logs/httpd.pid
prog=httpd
RETVAL=0
start() {
        echo -n $"Starting $prog: "
        daemon $httpd $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch /var/lock/subsys/httpd
        return $RETVAL
}
stop() {
        echo -n $"Stopping $prog: "
        killproc $httpd
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/httpd $pid
}
reload() {
        echo -n $"Reloading $prog: "
        killproc $httpd -HUP
        RETVAL=$?
        echo
}
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status $httpd
        RETVAL=$?
        ;;
  restart)
        stop
        start
        ;;
  condrestart)
        if [ -f $pid ] ; then
                stop
                start
        fi
        ;;
  reload)
        reload
        ;;
  graceful|help|configtest|fullstatus)
        $apachectl $@
        RETVAL=$?
        ;;
  *)
        echo $"Usage: $prog {start|stop|restart|condrestart|reload|status"
        echo $"|fullstatus|graceful|help|configtest}"
        exit 1
esac
exit $RETVAL

4、設置apache開機啓動

chkconfig  --add httpd
chkconfig  --list  httpd
chmod +x  /etc/init.d/httpd
/etc/init.d/httpd restart

5、配置基於域名的虛擬主機

cd /application/apache/conf/
vim httpd.conf 修改98行
ServerName 127.0.0.1:80
修改132 
<Directory "/application/apache2.2.31/html">
修改378 
Include conf/extra/httpd-mpm.conf
修改396 
Include conf/extra/httpd-vhosts.conf

==============================

[root@web02 conf]# cd extra/
[root@web02 extra]# vim httpd-vhosts.conf 
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/application/apache2.2.31/html/www"
    ServerName www.etiantian.org
    ServerAlias etiantian.org
    ErrorLog "/app/logs/www-error_log"
    CustomLog "/app/logs/www-access_log" common
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/application/apache2.2.31/html/bbs"
    ServerName bbs.etiantian.org
    ErrorLog "/app/logs/bbs-error_log"
    CustomLog "/app/logs/bbs-access_log" common
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/application/apache2.2.31/html/blog"
    ServerName blog.etiantian.org
    ErrorLog "/app/logs/blog-error_log"
    CustomLog "/app/logs/blog-access_log" common
</VirtualHost>

6、創建站點目錄及測試文件

mkdir -p /application/apache2.2.31/html/{www,bbs,blog}
echo www.etiantian.org >/application/apache2.2.31/html/www/index.html
echo bbs.etiantian.org >/application/apache2.2.31/html/bbs/index.html
echo blog.etiantian.org >/application/apache2.2.31/html/blog/index.html
mkdir /app/logs -p
/etc/init.d/httpd graceful    (優雅重啓)

7、配置客戶端host解析到如下域名商,檢查

curl www.etiantian.org                  
curl bbs.etiantian.org
curl blog.etiantian.org

apache基於域名的虛擬主機配置成功。


(二) 安裝mysql(這裏用二進制包)

1、安裝mysql依賴包

yum -y install libaio*

2、下載mysql二進制安裝包

wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.49-linux2.6-x86_64.tar.gz

3、創建mysql用戶

useradd mysql -s /sbin/nologin -M

4、解壓並安裝mysql

tar xf mysql-5.5.49-linux2.6-x86_64.tar.gz   
mv mysql-5.5.49-linux2.6-x86_64   /application/mysql-5.5.49
ln -s /application/mysql-5.5.49/ /application/mysql 
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql  (初始化mysql)
chown -R mysql.mysql /application/mysql/
cp /application/mysql/support-files/my-small.cnf  /etc/my.cnf
cp /application/mysql-5.5.49/support-files/mysql.server  /etc/init.d/mysqld
chkconfig --add mysqld  
sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe  /etc/init.d/mysqld   (修改mysql啓動腳本)
/etc/init.d/mysqld start

5、配置環境變量

echo "PATH="/application/mysql/bin:$PATH"" >> /etc/profile
source /etc/profile

6、創建mysql密碼

mysqladmin -uroot password '123456' 
mysqladmin -uroot -p'舊密碼' password '新密碼'   (修改)

7、啓動mysql

/etc/init.d/mysqld start



(三) 安裝PHP

1、安裝php依賴包

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel libxslt-devel libmcrypt-devel mhash mhash-devel mcrypt openssl-devel -y
 
mkdir -p /home/oldboy/tools
cd /home/oldboy/tools
 
wget http://ftp.gnu.org/pub/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
cd ..

2、安裝php

wget http://mirrors.sohu.com/php/php-5.5.26.tar.gz
cd /home/oldboy/tools
tar xf php-5.5.26.tar.gz
cd php-5.5.26
./configure \
--prefix=/application/php5.5.26 \
--with-apxs2=/application/apache/bin/apxs \
--with-mysql=mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-safe-mode \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--with-curlwrappers \
--enable-mbregex \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-zend-multibyte \
--enable-static \
--with-xsl \
--enable-ftp
make
make install
ln -s /application/php5.5.26/ /application/php

3、檢查結果

[root@web02 php-5.5.26]# ll /application/apache/modules/
總用量 30568
-rw-r--r-- 1 root root     9194 11月 10 20:37 httpd.exp
-rwxr-xr-x 1 root root 31285631 11月 10 23:51 libphp5.so
[root@web02 php-5.5.26]# grep libphp5.so /application/apache/conf/httpd.conf
LoadModule php5_module        modules/libphp5.so
[root@web02 php-5.5.26]# cp php.ini-production /application/php/lib/php.ini

4、配置apache整合php(配置httpd.conf)

311行下增加:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
168行下增加:
DirectoryIndex index.php index.html
67行下增加
User www
Group www

5、建立用戶

useradd www -s /sbin/nologin
id www 
/application/apache/bin/apachectl -t
Syntax OK
/application/apache/bin/apachectl graceful

6、檢查php

<?php
phpinfo();
?>

7、檢查mysql

<?php
  $link_id=mysql_connect('localhost','root','123456') or mysql_error();
    if($link_id){
           echo "mysql successful by oldboy training!";
     }
     else{
           echo mysql_error();
     }
?>


LAMP搭建完成




(四)搭建wordpress

1、下載wordpress

wget  https://cn.wordpress.org/wordpress-4.5.3-zh_CN.tar.gz
tar xf wordpress-4.5.3-zh_CN.tar.gz
mv wordpress/* /application/apache/html/blog/
chown -R www.www /application/apache/html/blog/

2、創建wordpress數據庫

mysql> create database wordpress; 
mysql> grant all on wordpress.* to wordpress@'172.16.1.%' identified by 'wordpress123'
mysql> flush privileges;

3、修改hosts記錄 

vi /etc/hosts                   (修改hosts記錄將mysql指向本機)
172.16.1.31 MysqlServer.com

4、訪問並配置博客 http://blog.etiantian.org/index.php 

wKioL1d-Mo6jk4FyAACBdEGxm-0793.png


5、配置wordpress僞靜態

(1)在WordPress後臺-設置-固定鏈接-自定義結構,輸入下面的代碼,最後保存更改即可。        

/archives/%post_id%.html

(2)在虛擬主機增加權限控制(只需要允許blog站點被訪問就可以了,不需要寫rewrite)

[root@Oldboy extra]# tail -15 httpd-vhosts.conf 
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/application/apache2.2.31/html/blog"
    ServerName blog.etiantian.org
    ErrorLog "/app/logs/blog-error_log"
    CustomLog "/app/logs/blog-access_log" common
    
    # 增加以下內容
    <Directory "/application/apache2.2.31/html/blog">
       Options Includes ExecCGI FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
    </Directory>
</VirtualHost>

(3)查看效果

wKioL1d_SSuQb2M2AAIimPoV6gk379.png






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章