您好,登錄后才能下訂單哦!
簡單羅列基礎命令,只分享我的想法!
要求:把php編譯成為httpd的模塊,實現lamp,并且在httpd上面建立兩個虛擬機,一個用于PHPAdmin,另外一個實現discuz。
環境:httpd-2.4.10,apr-1.5.0,apr-until-1.4.1,PHP-5.4.40,mariaDB-5.5.43和CentOS 6.6
一、首先編譯httpd
編譯2.4版本以上的httpd需要首先安裝1.4版本以上的apr和apr-until
1)編譯apr-1.5.0,這個軟件類似于一個php的“虛擬機”,使用同一種php的代碼都可以在上面運行。
./configure --prefix=/usr/local/apr make && make install
2)編譯apr-until-1.4.1。
./configure --prefix=/usr/local/apr-util –with-apr=/usr/local/apr
make && make install
3)編譯httpd。
如果啟用pcre功能,需要安裝pcre-devel包。
yum install pcre-devel ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24--enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/--enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
(--enable-so:支持DSO機制,動態裝卸載模塊;--with-zlib:網上實施壓縮的壓縮庫;--enable-cgi:啟動cgi模塊,主要用于httpd與php之間的通信;--enable-modules:啟用哪些模塊;--enable-ssl:支持ssl功能;--enable-mpms-shared:啟用共享mpm模塊;--with-mpm默認啟動的MPM模塊;)
httpd的管理命令加入到PATH
vim /etc/profile.d/httpd.sh PATH=/usr/local/apache/bin:$PATH . /etc/profile.d/httpd.sh
對httpd的include進行處理
ln -sv /usr/local/apache/include/ /usr/include/httpd
更新man.config
vim /etc/man.config
添加一行
MANPATH /usr/local/apache/man
創建apache用戶
useradd -r apache
編譯/etc/httpd24/httpd.conf主要配置文件
修改以下兩行,把用戶變為apache
user apache group apache
因為我原來安裝過httpd的rpm包,所以,直接復制啟動腳本之后進行修改
cp /etc/init.d/httpd /etc/init.d/httpd24 vim /etc/init.d/httpd24
修改以下三項即可
apachectl=/usr/local/apache/bin/apachectl httpd=${HTTPD-/usr/local/apache/bin/httpd} pidfile=${PIDFILE-/var/run/httpd.pid}
檢驗一下/etc/init.d/httpd24start,看80端口是否啟動。
把httpd24添加到服務啟動項中
chkconfig --add httpd24 chkconfig httpd24 on
httpd服務啟動,截圖如下。
圖1
二、通用二進制格式安裝MariaDB-5.4.43
1)有的是空間,直接分區,然后把數據文件放到新的分區中,如果想要充分利用空間,可以做LVM,新分區/dev/sda7,命令如下
pvcreate /dev/sda7 vgcreate myvg /dev/sda7 lvcreate -L 10G -n mylv2 myvg2
格式化
mkfs.ext4 /dev/myvg2/mylv2
掛載,然后可以添加到/etc/fstab中,開機自動啟動
mount /dev/myvg2/mylv2 /mariadb/mydata/mdat
2)解壓縮MariaDB的安裝包,需要創建一個鏈接/user/local/mysql指向解壓縮后的安裝包(因為壓縮包中的腳本指向的目錄就是/usr/local/mysql)。
ln -sv /root/mariadb-5.5.43-linux-x86_64 /usr/local/mysql
mysql的管理命令加入到PATH
vim /etc/profile.d/mysqld.sh PATH=/usr/local/mysql/bin:$PATH . /etc/profile.d/mysqld.sh
對httpd的include進行處理
ln -sv /usr/local/mysql/include/ /usr/include/mysqld
更新man.config
vim /etc/man.config
添加一行
MANPATH /usr/local/mysql/man
把函數庫添加到系統自動搜索的路徑下面
vim /etc/ld.so.conf.d/mysql.conf
添加一行
/usr/local/mysql/lib
編輯完畢,退出,ldconfig,之后可以通過ldconfig-p | grep "/usr/local/mysql"看是否已經加載。
更改安裝目錄的屬主和屬組
cd /usr/local/mysql chown -R root:mysql ./*
更改存放數據目錄的屬主和屬組
chown -R mysql:mysql /mariadb/mydata/
安裝mysql的配置文件,mysql搜索的配置文件依次是/etc/my.cnf->/etc/mysql/my.cnf->~/.my.cnf
mkdir /etc/mysql
cp support-files/my-large.cnf /etc/mysql/my.cnf
初始化數據庫到指定的目錄
cd /user/local/mysql ./scripts/mysql_install_db --user=mysql --datadir=/mariadb/mydata/
編輯/etc/mysql/my.cnf
vim /etc/mysql/my.cnf
添加以下兩行
datadir = /mariadb/mydata innodb_file_per_table = on
根據cpu個數修改以下一行,線程并發個數由來:CPU個數乘以2
thread_concurrency = 4
添加啟動腳本
cd/usr/local/mysql cp ./support-files/mysql.server /etc/init.d/mysqld43
添加到開機啟動的服務中
chkconfig --add mysqld43 chkconfig mysqld43 on
檢驗是否啟動,截圖如下
/etc/init.d/mysqld43 start
圖2
三、把php-5.4.40編譯安裝成為httpd的模塊,從而實現lamp的組合。
1)安裝依賴包(devel子包主要是包含一些include文件)
yum install libxml2-devel libmcrypt-devel bzip2-devel –y
2)編譯
./configure --prefix=/user/local/php --with-mysql=/usr/local/mysql--with-mysqli=/usr/local/mysql/bin/mysql_config--with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring --with-freetype-dir--with-jpeg-dir --with-zlib --with-libxml-dir=/usr --enable-xml--enable-sockets --with-mcrypt --with-bz2--with-config-file-path=/etc/php/php.ini --with-config-file-scan-dir=/etc/php.d/ make && make install
3)安裝主配置文件
mkdir /etc/php cp php.ini-production /etc/php/php.ini
四、編輯/etc/httpd24/httpd.conf,支持php
vim /etc/httpd24/httpd.conf
添加以下三行
DirectoryIndex index.php index.html AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
五、測試php
1)編輯index.php
vim /usr/local/apache/htdocs/index.php <? phpinfo(); ?>
重新啟動httpd24
刷新網頁即可,截圖如下
圖3
圖4
六、httpd中創建虛擬機
打開虛擬機配置文件
vim /etc/httpd24/httpd.conf
修改以下一行
Include /etc/httpd24/extra/httpd-vhosts.conf
編輯httpd-vhosts.conf配置文件
vim /etc/httpd24/extra/httpd-vhosts.conf <VirtualHost 172.16.49.1:80> #ServerAdminwebmaster@dummy-host.example.com DocumentRoot"/usr/local/apache/vhost1" ServerName www.a.com #ServerAliaswww.dummy-host.example.com ErrorLog"logs/error_log" CustomLog"logs/access_log" combine <Directory"/usr/local/apache/vhost1"> AllowOverride None Require all granted </Directory> </VirtualHost> <VirtualHost 172.16.49.1:80> #ServerAdmin webmaster@dummy-host.example.com DocumentRoot"/usr/local/apache/vhost2" ServerName www.b.com #ServerAliaswww.dummy-host.example.com ErrorLog"logs/error22_log" CustomLog"logs/access22_log" combine <Directory"/usr/local/apache/vhost2"> AllowOverride None Require all granted </Directory> </VirtualHost>
七、phpAdmin配置(省略,上一篇博客有寫到),此次實驗是通過vhost1顯示,只有截圖。
圖5
八、discuz在vhost2中顯示
1)查看README,如下圖:
圖6
2)修改upload目錄中config和data目錄的權限
chmod –R 777 config/ data/ uc_client/ uc_server/
3)通過瀏覽器訪問http://www.b.com/upload/install/,如下圖
圖7
4)繼續下一步進行配置
圖8
圖9
有志同道合的“戰友”可以加我qq:865765761。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。