Веб-сервер своими руками на CentOS

Как сделать веб-сервер своими руками? Легко. Достаточно просто ввести в терминале:

yum install php httpd mysql-server

а также дополнить модули, но это скучно. Делаем сексуальнее…

1. Если в будущем не потребуется SSL, идем к пункту 2.

скачиваем ставим:

1
2
3
4
5
6
7
8
wget //www.openssl.org/source/openssl-1.0.0d.tar.gz
tar xfv openssl-1.0.0d.tar.gz
cd openssl-1.0.0d
./Configure shared threads zlib --prefix=/opt/openssl \
--openssldir=/opt/openssl linux-elf
make
make test
make install

linux-elf – указываем свой процессор;)

2. Идем на apache project homepage, скачиваем саааамую последнюю версию веб-сервера

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
wget //apache.strygunov.com/httpd/httpd-2.2.19.tar.gz
tar xfv  httpd-2.2.19.tar.gz
cd httpd-2.2.19
./configure \
        --enable-ssl --with-ssl=/opt/openssl \
        --prefix=/etc/httpd \
        --exec-prefix=/etc/httpd \
        --bindir=/usr/bin \
        --sbindir=/usr/sbin \
        --sysconfdir=/etc/httpd/conf \
        --enable-so \
        --enable-dav \
        --enable-dav-fs \
        --enable-dav-lock \
        --enable-suexec \
        --enable-deflate \
        --enable-unique-id \
        --with-suexec-caller=apache \
        --with-suexec-docroot=/ \
        --with-suexec-gidmin=100 \
        --with-suexec-logfile=/var/log/httpd/suexec_log \
        --with-suexec-uidmin=100 \
        --with-suexec-userdir=public_html \
        --with-suexec-bin=/usr/sbin/suexec \
        --with-included-apr \
        --with-pcre=/usr/local \
        --includedir=/usr/include/apache \
        --libexecdir=/usr/lib/apache \
        --datadir=/var/www \
        --localstatedir=/var \
        --enable-logio \
        --enable-rewrite \
        --enable-proxy \
        --enable-expires \
        --enable-headers \
        --with-python=/usr/bin/python

make
make test
make install

3. Тут ставим php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
wget  //ua.php.net/get/php-5.3.6.tar.bz2
tar xfv php-5.3.6.tar.bz2
./configure  --with-apxs2 \
        --with-curl=/usr/local/lib \
        --with-gd \
        --enable-gd-native-ttf \
        --with-ttf \
        --with-gettext \
        --with-jpeg-dir=/usr/local/lib \
        --with-freetype-dir=/usr/local/lib \
        --with-kerberos \
        --with-openssl \
        --with-mcrypt \
        --with-mhash \
        --with-mysql=/usr \
        --with-mysqli=/usr/bin/mysql_config \
        --with-pcre-regex=/usr/local \
        --with-pdo-mysql=/usr \
        --with-pear \
        --with-png-dir=/usr/local/lib \
        --with-zlib \
        --with-zlib-dir=/usr/local/lib \
        --enable-zip \
        --with-iconv=/usr/local \
        --enable-bcmath \
        --enable-calendar \
        --enable-ftp \
        --enable-magic-quotes \
        --enable-sockets \
        --enable-mbstring \
        --with-imap=/usr/local/imap-2007e \
        --with-imap-ssl
 
make
make test
make install clean

 

4. MySQL – в данный момент стоит из yum, но не долго ему жить. поэтому п.4 будет изменен в скором времени