Поднимаем хостинг для Sape на CentOS за 5 шагов

Задача:

Разместить на небольшой VPS с CentOS множество сайтов для продажи ссылок в бирже Sape. При этом надо выжать из виртуалки максимум возможного, учитывая, что сайты используют php, rewrite в .htaccess и mysql — в общем весь стандартный набор, который поддерживает 80% популярных CMS. При этом сама VPS будет находится за кеширующим маскирующим прокси-сервером для скрытия реального IP. Например, отлично подойдетCloudFlare.

Шаг первый. Ставим необходимые пакеты:

yum -y install httpd mysql mysql-server php php-gd php-mysql

 

 

Шаг второй. Настраиваем апач:

 

Заменяем содержимое файла /etc/httpd/conf/httpd.conf целиком на следующее:

 

ServerTokens OS

ServerRoot "/etc/httpd"

PidFile run/httpd.pid

Timeout 60

KeepAlive Off

MaxKeepAliveRequests 100

KeepAliveTimeout 15

StartServers       1

MinSpareServers    1

MaxSpareServers    4

ServerLimit       16

MaxClients        16

MaxRequestsPerChild  128

Listen 80

LoadModule authz_host_module modules/mod_authz_host.so

LoadModule log_config_module modules/mod_log_config.so

LoadModule mime_magic_module modules/mod_mime_magic.so

LoadModule mime_module modules/mod_mime.so

LoadModule vhost_alias_module modules/mod_vhost_alias.so

LoadModule dir_module modules/mod_dir.so

LoadModule rewrite_module modules/mod_rewrite.so

LoadModule php5_module modules/libphp5.so

AddHandler php5-script .php                                                                                                           

AddType text/html .php                                                                                                                

DirectoryIndex index.php

User apache

Group apache

ServerAdmin [email protected]

UseCanonicalName Off

DocumentRoot "/var/www/html"

<Directory />

    Options FollowSymLinks

    AllowOverride All

</Directory>

AccessFileName .htaccess

<Files ~ "^\.ht">

    Order allow,deny

    Deny from all

</Files>

TypesConfig /etc/mime.types

DefaultType text/plain

<IfModule mod_mime_magic.c>

    MIMEMagicFile conf/magic

</IfModule>

HostnameLookups Off

ErrorLog logs/error_log

LogLevel crit

LogFormat "%V | %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

CustomLog logs/access_log combined

ServerSignature Off

AddDefaultCharset UTF-8

VirtualDocumentRoot /var/www/%0

 

Шаг третий. Запускаемся:

 

service httpd start

service mysqld start

 

Шаг четвертый. Настраиваем единую директорию для ссылочного кода:

Помещаем вашу директорию с кодом в /var/www

В настройках кода включаем мультисайтинг, оставляя код подключения стандартным

В результате каждый сайт будет использовать эту директорию, создавая личный файл с ссылками

Если вам нужен индивидуальный код для каждого сайта, тогда переходим к последнему шагу

 

Шаг пятый. Индивидуальные директории ссылочного кода для каждого из сайтов:

Создаем .htaccess в /var/www с таким содержимым:

 

php_value auto_prepend_file /var/www/setdocroot.php
Заливаем в файл  /var/www/setdocroot.php следующий код:
<?php

$_SERVER['DOCUMENT_ROOT'] = str_replace($_SERVER['SCRIPT_NAME'], '', $_SERVER['SCRIPT_FILENAME']);

?>

Поздравляю! Все готово.

Теперь просто созайте директорию в /var/www, имя которой равно имени вашего домена и заливайте туда файлы. Больше никаких настроек делать не нужно.