當前位置:編程學習大全網 - 源碼下載 - Linux源代碼編譯apache

Linux源代碼編譯apache

第壹,系統協議

軟件源代碼包的存儲位置:/usr/local/src

源碼包編譯安裝位置(前綴):/usr/local/software _ name。

腳本和維護程序的存儲位置:/usr/local/sbin。

MySQL數據庫位置:/var/lib/mysql(可根據情況設置)

Apache網站根目錄:/home/www/wwwroot(可根據情況設置)。

Apache虛擬主機日誌根目錄:/home/www/logs(可根據情況設置)

Apache流水賬:www:www

二、系統環境的部署和調整

1.檢查系統是否正常。

# more /var/log/messages(檢查系統級錯誤消息)

# dmesg(檢查硬件設備的錯誤消息)

# ifconfig(檢查網卡設置是否正確)

# ping www.163.com(檢查網絡是否正常)

2.關閉不必要的服務

# ntsysv

下面只列出了需要啟動的服務,建議關閉所有未列出的服務:

atd

克朗德

irqbalance

微碼_ctl

網絡

發送郵件

sshd

系統記錄

3.重啟系統

#初始化6

配置vim

# vi /root/。bashrc

在別名mv='mv -i '下添加壹行:alias vi='vim '保存並退出。

# echo '語法on ' & gt/root/。vimrc

5.使用yum程序安裝所需的開發包(以下是標準的RPM包名)

# yum安裝ntp vim增強的gcc gcc-c++ gcc-G77 flex bison autoconf automake bzip2-devel ncurses-devel lib JPEG-devel libpng-devel libtiff-devel freetype-devel PAM-devel內核

6.定期校正服務器時鐘,並與中國國家授時中心的授時服務器同步。

# crontab -e加壹行:*/30 * * * ntpdate 210 . 72 . 145.44。

7.源代碼編譯和安裝包(源代碼)

(1) GD2

# cd /usr/local/src

# tar xzvf gd-2.0.34.tar.gz

# cd gd-2.0.34

# ./configure-prefix =/usr/local/gd2

#制造

#進行安裝

(2) LibXML2

# cd /usr/local/src

# tar xjvf libxml2-2.6.30.tar.bz2

# cd libxml2-2.6.30

# ./configure-prefix =/usr/local/libxml 2

#制造

#進行安裝

(3) LibMcrypt

# cd /usr/local/src

# tar xjvf libmcrypt-2 . 5 . 8 . tar . bz2

# cd libmcrypt-2.5.8

# ./configure–prefix =/usr/local/libmcrypt

#制造

#進行安裝

(4) Apache日誌截斷程序

# cd /usr/local/src

# tar xzvf cronolog-1 . 7 . 0-beta tar . gz

# cd cronolog-1.7.0-beta

# ./configure–prefix =/usr/local/cronolog

#制造

#進行安裝

8.升級OpenSSL和OpenSSH

# cd /usr/local/src

# tar xzvf openssl-0.9.8e.tar.gz

# cd openssl-0.9.8e

# ./config-prefix =/usr/local/OpenSSL

#制造

#進行測試

#進行安裝

# cd..

# tar xzvf OpenSSH-4.7p 1 . tar . gz

# cd openssh-4.7p1

# ./配置\

"- prefix=/usr" \

"- with-pam" \

"-使用-zlib" \

"- sysconfdir=/etc/ssh" \

"-with-SSL-dir =/usr/local/OpenSSL " \

"-使用-MD5-密碼"

#制造

#進行安裝

(1)禁用SSH V1協議。

查找:

#協議2,1

替換為:

議定書2

(2)禁止root用戶直接登錄

這裏,首先建立壹個普通的系統用戶:

# useradd用戶名

#密碼用戶名

查找:

#PermitRootLogin是

替換為:

PermitRootLogin登錄號

(3)禁用服務器端GSSAPI

找到下面兩行,並對它們進行註釋:

GSSAPIAuthentication是

GSSAPICleanupCredentials是

(4)禁用DNS名稱解析

查找:

#UseDNS是

替換為:

使用號碼

(5)禁用客戶端GSSAPI

# vi /etc/ssh/ssh_config

查找:

GSSAPIAuthentication是

註釋掉這壹行。

最後,在確認正確的修改後,重新啟動SSH服務。

#服務sshd重啟

# ssh -v

確認OpenSSH和OpenSSL版本正確。

第三,編譯並安裝L.A.M.P環境

1.下載軟件

# cd /usr/local/src

f /etc/my.cnf

# mv/usr/local/MySQL/data/var/lib/MySQL

# chown-R MySQL:MySQL/var/lib/MySQL/

# vi /etc/my.cnf

修改以下內容:

(1)在[mysql]部分添加壹行:

default-character-set = gbk | Latin 1 | utf8 | big 5

(2)在[mysqld]段落中增加或修改:

datadir = /var/lib/mysql

-跳過-innodb

default-character-set = gbk | Latin 1 | utf8 | big 5

- wait-timeout = 3 | 5 | 10

max _ connections = 256 | 384 | 512

最大連接錯誤數= 10000000

Thread _ concurrency =數量×2。

評論日誌箱

# bin/mysqladmin -u根密碼'根密碼'

3.編譯並安裝Apache

# cd /usr/local/src

# tar xjvf httpd-2.2.6.tar.bz2

# cd httpd-2.2.6

# ./配置\

- prefix=/usr/local/apache2" \

"-含-含-四月" \

"- enable-so" \

"- enable-deflate=shared" \

"- enable-expires=shared" \

- enable-rewrite=shared" \

"-啟用-靜態-支持" \

"-禁用-用戶目錄"

#制造

#進行安裝

# echo '/usr/local/Apache 2/bin/Apache CTL start ' & gt;& gt/etc/rc .本地

4.編譯並安裝PHP

# cd /usr/local/src

# tar xjvf php-5.2.4.tar.bz2

# cd php-5.2.4

# ./配置\

"- prefix=/usr/local/php" \

"-with-APX S2 =/usr/local/Apache 2/bin/apxs " \

"-with-config-file-path =/usr/local/PHP/etc " \

"- with-mysql=/usr/local/mysql" \

"-with-libxml-dir =/usr/local/libxml 2 " \

"- with-gd=/usr/local/gd2" \

"-使用-jpeg-dir" \

"-使用-png-dir" \

"-帶-bz2" \

"- with-freetype-dir "

"- with-iconv-dir" \

"-使用-zlib-dir " \

"-with-OpenSSL =/usr/local/OpenSSL " \

"-with-mcrypt =/usr/local/libmcrypt " \

"-啟用-soap" \

- enable-gd-native-ttf" \

"-啟用-ftp" \

"- enable-mbstring" \

- enable-exif" \

"-禁用ipv6" \

"-禁用-cgi" \

"-禁用命令行界面"

#制造

#進行安裝

# mkdir /usr/local/php/etc

# CP PHP . ini-dist/usr/local/PHP/etc/PHP . ini

5.集成Apache和PHP。

# VI/usr/local/Apache 2/conf/httpd . conf

查找:

添加應用程序類型/x-gzip。gz。tgz

在這壹行下,添加

AddType application/x-httpd-php。服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

查找:

& ltIfModule dir _ module & gt

index.html董事索引

& lt/if module & gt;

將該行替換為以下內容

& ltIfModule dir _ module & gt

index.html·index.htm·index.php

& lt/if module & gt;

查找:

#包括conf/extra/httpd-mpm.conf

#包括conf/extra/httpd-info.conf

# Include conf/extra/httpd-vhosts . conf

#包括conf/extra/httpd-default.conf

刪除前面的“#”並取消註釋。

註意:請根據相關原則合理配置上述四個擴展配置文件中的設置!修改後保存並退出。

#/usr/local/Apache 2/bin/Apache CTL重新啟動

6.檢查並確認L.A.M.P的環境信息,提高PHP的安全性。

將phpinfo.php腳本放在網站的根目錄下,檢查phpinfo中的所有信息是否正確。

確認php可以正常工作後,在php.ini中設置,提高PHP的安全性。

# vi /etc/php.ini

查找:

disable_functions =

設置為:

phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,

proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,

readlink,symlink,popepassthru,stream_socket_server

四、服務器安全設置

1.設置系統防火墻

# vi /usr/local/sbin/fw.sh

將以下腳本命令粘貼到fw.sh文件中。

#!/bin/bash

#首先停止iptables服務

服務iptables停止

#加載FTP內核模塊

/sbin/modprobe ip_conntrack_ftp

/sbin/modprobe ip_nat_ftp

#初始鏈默認策略

/sbin/iptables -F -t過濾器

/sbin/iptables -P輸入下降

/sbin/iptables -P輸出接受

#啟用本地網絡傳輸

/sbin/iptables -A輸入-i lo -j接受

#接受已建立的連接

/sbin/iptables -A輸入-m狀態-狀態建立,相關-j接受

# ICMP控制

/sbin/iptables -A輸入-p icmp-m limit-limit 1/s-limit-burst 10-j接受

# WWW服務

/sbin/iptables -A輸入-p tcp - dport 80 -j接受

# FTP服務

/sbin/iptables -A輸入-p tcp - dport 21 -j接受

# SSH服務

/sbin/iptables -A輸入-p tcp - dport 22 -j接受# chmod 755 /usr/local/sbin/fw.sh

# echo '/usr/local/sbin/fw . sh ' & gt;& gt/etc/rc .本地

  • 上一篇:妳吃過哪些好吃的餃子?
  • 下一篇:servlet中的doGet()與doPost()是怎
  • copyright 2024編程學習大全網