Apache web სერვერის კონფიგურაცია
ვიკიწიგნებიდან
დავიწყეთ
(ლინუქსებიდან ვიტყვი მხოლოდ რედჰატ/ფედორას და დანარჩენებზე ძალიან ცოტა იქნება განსხვავება)
ფედორას დავწერ ბოლოს, იმიტომ რომ ყველაზე ადვილია. დანარჩენებს რაც შეეხებათ.
ვქაჩავთ ბოლო ჩვენთვის სასურვენ აპაჩის httpd.apache.org მე თვალი გადავავლე დანარჩენებს, და ყველაზე მეტად აპაჩის მერე მომეწონა thttpd ( http://www.acme.com/software/thttpd/ ) (ამას პჰპ ს მხარდაჭერაც აქვს, პატარაა, ჩქარია და ა.შ.
განვიხილოთ აპაჩი. თუ უკვე დაყენებულია და ა.შ., მაშინ ხელს არ ვახლებთ (ან ვაყენებთ უფრო ახალს(თუ არის))
სარჩევი |
[რედაქტირება] Apache-ს დაყენება
მოკლედ ვიწერთ ბოლო აპაჩის საწყის კოდს. http://httpd.apache.org/download.cgi დან. ჩვენდა საბედნიეროდ, საქართველოში Mysoft LTD - მ დაჰოსტა მირორი, რომელზეც არის mysql, php , apache სორსები.
დავქაჩავთ apache-2.2.0.tar.bz2 ს (ამ ტექსტის დაწერისათვის ბოლო ვერსიას) დავქაჩავთ mysql ის ბოლო ვერსიას 5.0.16 დავქაჩავთ აგრეთვე php ს მაგრამ რეკომენდირებულია hardened-php პროექტის PHP, რომელიც შეიცავს დაცვისათვის საჭირო პატჩებს და ასწორებს ზოგიერთ შეცდომას PHP s ბოლო დისტრიბუტივში.
http://www.hardened-php.net/files/hardenin...1-0.4.8.tar.bz2
წავედით
mkdir /tmp/build cp hardening-* mysql* httpd* /tmp/build cd /tmp/build tar jxvf apache-2.2.0.tar.bz2 cd apache-2.2.0 mkdir build cd build ../configure \
--prefix=/etc/httpd \ --exec-prefix=/usr \ --bindir=/usr/bin \ --sbindir=/usr/sbin \ --mandir=/usr/share/man \ --libdir=/usr/lib \ --sysconfdir=/etc/httpd/conf \ --includedir=/usr/include/httpd \ --libexecdir=/usr/lib/httpd/modules \ --datadir=/var/www/html \ --with-installbuilddir=/usr/lib/httpd/build \ --with-mpm=worker \ --enable-suexec --with-suexec \ --with-suexec-caller=apache \ --with-suexec-docroot=/var/www/html \ --with-suexec-logfile=/var/log/httpd/suexec.log \ --with-suexec-bin=/usr/sbin//suexec \ --with-suexec-uidmin=500 --with-suexec-gidmin=100 \ --with-pcre \ --enable-mods-shared=all \ --enable-ssl --with-ssl --enable-distcache \ --enable-proxy \ --enable-cache --enable-mem-cache \ --enable-file-cache --enable-disk-cache \ --enable-ldap --enable-authnz-ldap \ --enable-cgid \ --enable-authn-anon --enable-authn-alias
make
make install
ასეთი ფაილების განლაგება და ა.შ. ეთანხმება FHS ფაილური სისტემის სტანდარტს.
[რედაქტირება] MySQL-ის დაყენება
შემდეგ მოდის MySQL ის ჯერი
cd ../.. tar zxvvf mysql-5.0.16.tar.bz2 cd mysql-5.0.16 ./configure \
--with-readline \ --with-vio \ --with-openssl \ --without-debug \ --enable-shared \ --with-bench \ --localstatedir=/var/lib/mysql \ --with-unix-socket-path=/var/lib/mysql/mysql.sock \ --with-mysqld-user="mysql" \ --with-extra-charsets=all \ --with-innodb \ --with-isam \ --with-berkeley-db \ --enable-local-infile \ --enable-large-files=yes --enable-largefile=yes \ --enable-thread-safe-client \ --disable-dependency-tracking \ --with-named-thread-libs="-lpthread"
make make install
[რედაქტირება] PHPს დაყენება
ახლა PHPს ჯერი დადგა cd .. tar jxvvf hardening-patch-5.1.1-0.4.8.tar.bz2 cd hardening-patch-5.1.1-0.4.8
./configure \
--cache-file=../config.cache \ --with-libdir=/usr/lib \ --with-config-file-path=/etc \ --with-config-file-scan-dir=/etc/php.d \ --disable-debug \ --with-pic \ --disable-rpath \ --with-bz2 \ --with-curl \ --with-exec-dir=/usr/bin \ --with-freetype-dir=/usr \ --with-png-dir=/usr \ --enable-gd-native-ttf \ --without-gdbm \ --with-gettext \ --with-gmp \ --with-iconv \ --with-jpeg-dir=/usr \ --with-openssl \ --with-png \ --with-pspell \ --with-expat-dir=/usr \ --with-pcre-regex=/usr \ --with-zlib \ --with-layout=GNU \ --enable-exif \ --enable-ftp \ --enable-magic-quotes \ --enable-sockets \ --enable-sysvsem --enable-sysvshm --enable-sysvmsg \ --enable-track-vars \ --enable-trans-sid \ --enable-yp \ --enable-wddx \ --with-pear=/usr/share/pear \ --with-kerberos \ --enable-ucd-snmp-hack \ --enable-memory-limit \ --enable-shmop \ --enable-calendar \ --enable-dbx \ --enable-dio \ --with-mime-magic=/etc/httpd/conf/magic \ --without-sqlite \ --with-libxml-dir=/usr \ --with-xml \
make make install
ესაა და ეს.
[რედაქტირება] apt-based სისტემებში დაყენება
რაც შეეხება apt-based სისტემებს, (ჩემთან ფედორაც ეგეთია)
apt-get install httpd php mysql php-mysql
აქ ბევრი რამ გამომრჩა და იმედია ჩავამატებ.
[რედაქტირება] დებიანი და უბუნტუ
რაც შეეხება დებიანს და უბუნტუს: სისტემას რომ დააყენებთ მერე:
(აქ დავწერ აპაჩე2-ზე, თუ 1.3 გინდათ, მაშინ apache2 -ის ნაცვლად ყველგან დაწერთ apache1.3)
1. აპაჩეს დაყენება: apt-get install apache2
2. პჰპ-ს დაყენება: apt-get install libapache2-mod-php4
3. mysql-ის დაყენება: apt-get install mysql-server
da kidev apt-get install php4-mysql
[რედაქტირება] დაცვა
რაც შეეხება დაცვას. http://www.modsecurity.org/download/index.html ვქაჩავთ, ვაყენებთ ასე apxs -cia mod_security.c
და ვარესტარტებთ აპაჩის
apachectl restart
თუ გვინდა რომ აპაჩიმ სხვა რამ დაწეროს თავისი ვერსიის მაგივრად. ვამატებთ /etc/httpd/conf.d/mod_security.conf ში ასეთ რამეს SecServerSignature "Microsoft-IIS/5.0"
და ვარესტარტებთ apache ს
ფედორაში apt-get install mod_security