httpd的坑

megachen發表於2018-08-20

Httpd伺服器的坑

  1. 在/etc/httpd/conf/httpd.conf中的配置資訊, 有時註釋到的內容仍然會生效
  2. 配置Auth時, 允許htpasswd規定的檔案中的所有的使用者, Require valid-uesr, 允許特定的使用者Require user user1 user2 user3 …
  3. 允許組, Require group group1 group2

在CentOS6中安裝httpd2.4

1. 前提條件:

    - Development tools<br>
    - Server Platform tools<br>
    - apr-1.5+<br>
    - apr-util-1.5+<br>
    - httpd-2.4<br>
    - expat-devel<br>
    - openssl-devel<br>
    - prec-devel<br>
    - httpd2.2(需要其httpd2.2的服務配置, 提供httpd2.4服務配置模板)

2. 操作:

    1. 解壓apr之後, .configure --prefix=/usr/local/apr; make && make install
    2. 解壓apr-util之後, .configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr; make && make install
    3. 解壓httpd2.4, 
    
    ./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd24 --enable-so  --enable-ssl --enable-cgi  --enable-rewrite  --with-zlib  --with-pcre=/usr/local/pcre  --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util  --enable-modules=most  --enable-mpms-shared=all --with-mpm=event
    
    4. 複製指令碼, cp /etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd24<br>
        **注意**:單純的複製服務指令碼是不行的, 我們還要根據具體的情況進行修改
    5. 新增服務指令碼, chkconfig --add httpd24
    6. 啟動httpd, service httpd start
    7. 匯出man, 庫檔案(.so), 標頭檔案, 系統的環境變數
    8. 檢視/var/run/httpd/httpd.pid的內容, 啟動httpd服務會以該檔案中定義的pid進行執行

    9. 載入相應的模組
        proxy_module和fcgi有關的
    10. 關閉正向代理

CentOS6上編譯安裝php(先安裝apr, apr-util, httpd, mariab, zlib2-devel, libmcrypt-devel, libxml2-devel, httpd-devel)

1. 解壓php包
2. 命令引數 

./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-openssl –with-mysqli=/usr/local/mysql/bin/mysql_config –enable-mbstring –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –enable-sockets –with-apxs2=/usr/local/httpd24/bin/apxs –with-mcrypt –with-config-file-path=/etc –with-config-file-scan-dir=/etc/php.d –with-bz2 –enable-maintainer-zts

3. make && make install

4. 此時會在/etc/httpd24/httpd.conf中多出LoadModule php的資訊

5. 為了能讓httpd解析php檔案, 在配置檔案中新增

AddType application/x-httpd-php .php

AddType application/x-httpd-ph-source .phps

Directory Index index.php index.html

6. 我們編譯安裝的httpd的docroot是在/usr/localhttpd24/htdoc中, 在這裡index.php進行測試即可

7. 為了加開執行, 編譯安裝xcache

解壓

進入到解壓目錄

/usr/local/php/bin/phpize: 用於生成configure檔案

./configure –enable-xcache –enable-xcache-coverager –enable-xcache-optimizer –with-php-config=/usr/local/php/bin/php-config

make && make install

建立/etc/php.d資料夾,將xcache.ini配置檔案複製到此檔案,以便php讀取載入。

8. 這裡使用的php安裝時編譯在httpd中(成為httpd的一個模組的, 所以配置時 需要指明httpd的相關位置), 而安裝採用fpm則不需要, 但是因為php與mysql有關, 所以還是需要mysql的位置的配置資訊


相關文章