Files Structure:

  • /srv
    • /mydomain.com
      • /.socks
      • /www
        • /cgi-bin
        • /logs
        • /public_html
        • /ssl
        • /tmp
      • /blog
        • /cgi-bin
        • /logs
        • /public_html
        • /ssl
        • /tmp

1. Installation of Apache 2.4

apt-get -y install apache2-mpm-prefork apache2-utils apache2-suexec

1.1. Configuration of Apache 2
We need to activate modules.
a2enmod suexec rewrite ssl actions include headers expires dav_fs dav auth_digest

2. Installation of MySQL

You can automate this step by following this tutorial.
apt-get install -y mysql-server

2.1 Securing the installation

To secure your installation of MySQL you have to use the command line mysql_secure_installation and remove all test tables and users.

3. Installation of PHP (FPM) + basic modules

apt-get install -y php5-fpm php-apc php5-mysql php5 php5-common php5-gd php5-mysql php5-imap php5-cli php5-cgi php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick php5-curl php5-intl php5-memcache php5-memcached php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached

3.1 Enable PHP5 FPM for Apache2

a2enmod fastcgi

4. Configure your first website

#Create the user
/usr/sbin/useradd -M website1 -d /srv/mydomain.com/www/ -s /bin/false

#Create the structure
mkdir -p /srv/mydomain.com/.socks
chown -R root:root /srv/mydomain.com/.socks
chmod 1751 /srv/mydomain.com/.socks

mkdir -p /srv/mydomain.com/www/{cgi-bin,logs,public_html,ssl,tmp}
chown -R website1:website1 /srv/mydomain.com/www/
chown -R root:root /srv/mydomain.com/www/ssl
chown -R website1:website1 /srv/mydomain.com/www/cgi-bin
chown root:website1 /srv/mydomain.com/www/logs
chown root:root /srv/mydomain.com/www
chmod 1755 /srv/mydomain.com/www/
chmod 1700 /srv/mydomain.com/www/ssl
chmod 1750 /srv/mydomain.com/www/tmp
chmod 1750 /srv/mydomain.com/www/logs
chmod 1750 /srv/mydomain.com/www/cgi-bin

4.1 Non-SSL Virtual Host

Virtual Host folder: /etc/apache2/sites-available

Put the content below to /etc/apache2/sites-available/www.mydomain.com.conf
Don’t forget to change YOUR_SERVER_IP by your server IP Address!

<VirtualHost YOUR_SERVER_IP:80>
	ServerAdmin webmaster@mydomain.com
	ServerName  mydomain.com
	ServerAlias  www.mydomain.com
	DocumentRoot /srv/mydomain.com/www/public_html
	Options None
	<IfModule mod_fastcgi.c>
		<IfModule mod_php5.c>
			php_admin_flag engine off
		</IfModule>
		<FilesMatch \.php$>
			SetHandler php5-fcgi
		</FilesMatch>
		Alias /cgi-bin/ /srv/mydomain.com/www/cgi-bin/
		FastCgiExternalServer /srv/mydomain.com/www/cgi-bin/www.mydomain.com.external -socket /srv/mydomain.com/.socks/www.mydomain.com.sock
		AddHandler php5-fcgi .php
		Action php5-fcgi /cgi-bin/www.mydomain.com.external
		<Directory /srv/mydomain.com/www/cgi-bin>
			Require all granted
		</Directory>
	</IfModule>
	<Directory /srv/mydomain.com/www/public_html>
		Require all granted
		RewriteEngine on

		#Redirect all http traffic to https
		RewriteCond %{SERVER_PORT} 80
		RewriteRule ^(.*)$ https://www.mydomain.com/ [R=301,L]

		#Redirect non-www to www
		RewriteCond %{HTTP_HOST} ^([a-z.]+)?mydomain\.com$ [NC]
		RewriteCond %{HTTP_HOST} !^www\. [NC]
		RewriteRule .? http://www.%mydomain.com%{REQUEST_URI} [R=301,L]

		Options SymLinksIfOwnerMatch
		AllowOverride Indexes Limit Options AuthConfig FileInfo
	</Directory>
	# Log
	ErrorLog /srv/mydomain.com/www/logs/error.log
	LogLevel warn
	CustomLog /srv/mydomain.com/www/logs/access.log combined
</VirtualHost>

4.2 Configuration of PHP FPM

Pool configuration folder: /etc/php5/fpm/pool.d (one pool per Virtual Host)

Put the content below to /etc/php5/fpm/pool.d/www.mydomain.com.conf

; Pool name
[www.mydomain.com]
; On utilisera une socket
listen = /srv/mydomain.com/.socks/www.mydomain.com.sock
; Permission for the socket
listen.owner = website1
listen.group = website1
listen.mode = 0666
; User/Group for the process
user = website1
group = website1
; Process configuration
pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
slowlog = /srv/mydomain.com/www/logs/php5-fpm.www.mydomain.com.log.slow
; Some PHP configuration directives (Change the way you want)
; If you enable open_basedir, upload_tmp_dir must be a child folder of the base_dir directory.
php_admin_value[open_basedir] = /srv/mydomain.com/www
php_admin_value[session.save_path] = /srv/mydomain.com/www/tmp
php_admin_value[upload_tmp_dir] = /srv/mydomain.com/www/tmp
php_admin_value[short_open_tag] = On
php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i
;Disable unsecure functions
php_admin_value[disable_functions] = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,exec,passthru,system,shell_exec,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source,fsocket,fsockopen,pfsockopen

4.3 Enable the new configuration

#Enable your new Apache Virtual Host
a2ensite www.mydomain.com
#Reload PHP5 FPM pools
service php5-fpm reload
#Reload Apache
service apache2 reload

Common Problems

If your PHP FPM won’t spawn your socket, check if you don’t have two pools with the same domain/subdomain [www.mydomain.com] (First or second line of your fpm pool configuration file)


16 Comments

RDFYjolf · 13 June 2025 at 17 h 05 min

555

RDFYjolf · 13 June 2025 at 17 h 05 min

555

wp-comments-post.php · 13 June 2025 at 17 h 06 min

555

1 · 13 June 2025 at 17 h 06 min

xfs.bxss.me

RDFYjolf · 13 June 2025 at 17 h 06 min

555

1 · 13 June 2025 at 18 h 11 min

555

гостевые дома посуточно · 18 October 2025 at 16 h 04 min

спасибо так значительно за ваш веб-сайт
помогаетмного. Посетите также мою страничку гостевые дома посуточно https://tiktur.ru/

Виртуальные карты для бизнеса · 26 November 2025 at 21 h 33 min

С уважением за то, что поделились этим фантастический веб-сайты.

Посетите также мою страничку Виртуальные карты для бизнеса https://tinyurl.com/antarctic-wallet

web site · 1 December 2025 at 11 h 02 min

I’m not sure where you are getting your information, but great topic.
I needs to spend a while finding out more or figuring out more.
Thanks for magnificent information I used to be on the lookout for this information for my mission. https://meds24.sbs/

отели посуточно · 1 December 2025 at 11 h 47 min

Где найти квартиры, отели и гостевые дома на сутки?

— Через онлайн-платформы аренды.

Можно ли снять жильё посуточно без предоплаты?

— Многие владельцы предлагают
такую опцию.

Что выгоднее — квартира или отель?

— Зависит от целей поездки.

Есть ли скидки при долгосрочной аренде?

— Многие делают специальные предложения.

Как выбрать жильё посуточно

@airbn@b77 https://sutochny.ru/poleznyye-sovety/

Виртуальные карты для цифрового маркетинга · 1 December 2025 at 23 h 30 min

Ваша сообщения удивительно интригующий.
Посетите также мою страничку Виртуальные
карты для цифрового маркетинга https://tinyurl.com/antarctic-wallet

ускорение индексации в Google · 7 December 2025 at 9 h 23 min

Привет, отлично сайт у вас есть сейчас.
Посетите также мою страничку ускорение индексации
в Google https://linksbuilder.fun/

Плати · 11 December 2025 at 12 h 50 min

Привет, знаешь, как легко платить
криптой через QR?
С криптой жизнь становится удобнее, согласен?
Представь: ты в кафе, заказал пиццу
с ананасами, а вместо карты или налички просто тыкаешь в QR и — бац!
— оплата ушла за секунду. А главное — это реально удобно, сейчас объясню.
Плати

Я сам недавно заценил эту тему, и,
честно, впечатления огонь!
Больше не нужно ждать подтверждений.
Теперь я прям фанат этого способа, и тебе советую попробовать.

Что за магия с QR-кодом?
Секрет прост: нужен телефон с криптокошельком.
Выбери кошелёк типа MetaMask — главное, чтобы QR-коды умел считывать.
На кассе или в интернет-магазине тебе дают QR-код, ты его
считываешь, подтверждаешь сумму, и всё — деньги отправлены!
Почему стоит платить криптой через QR-код

Самое крутое — это удобство. И главное — безопасно: QR-коды
шифруют данные. Попробовал оплатить ужин
— и ни одной проблемы, всё
летает!
Где это работает?
Крипта по QR-коду уже внедряется в магазины, кафе
и даже онлайн-сервисы. Видел,
как в кофейнях всё чаще берут крипту
по QR? Просто ищи значок крипты
на кассе или спроси у продавца — они обычно в курсе.
Секрет мгновенной криптооплаты — QR!

В интернете вообще сказка:
куча сайтов уже поддерживают QR-оплату криптой.

Заходишь на сайт, выбираешь «Оплатить криптовалютой», сканируешь QR-код, и вуаля!
Попробовал оплатить VPN через QR — и это
было без заморочек.
Почему это круто?
Оплата криптой по QR-коду — это
не только удобно, но и шаг в будущее.
Ты не зависишь от банков, комиссий за переводы и прочей головной боли.
Плюс, это безопасно, если тебе важна приватность.

И знаешь, что ещё? Это просто весело!
Когда ты сканируешь код и видишь, как эфир улетают за покупку, чувствуешь себя будто в sci-fi фильме.
Просто попробуй — это реально круто!

Scan & Pay Crypto — Сканируй и плати криптой

Ну что, в деле?
Серьёзно, QR и крипта — это удобство
в твоём кармане! Попробуй один раз, и,
держу пари, ты не захочешь возвращаться к наличке.

Просто открой приложение, найди место, где принимают крипту, и вперёд!

Кто-нибудь уже заценил этот способ?

Делитесь, что думаете?
Криптовалюта + QR = Удобная оплата без лишних движений https://tinyurl.com/4h7kcs2r

backlinks · 13 December 2025 at 5 h 04 min

Привет, вебмастера — кто реально разбирается, зачем нужны входящие ссылки?

Я тут задумался и понял — бэки —
это как кислород для сайта.

Тестил разные методы — от краудов до гостевых постов, но результат нестабилен.

Понял, где брать нормальные ссылки без риска.

Кому интересно — ловите источник
backlinks .

Нашёл пошаговый гайд без воды.

Ссылки индексируются быстро
и дают трафик.

Реально советую — инфа стоящая.

Кому нужно — ссылка выше https://kwork.ru/links/262357/prodvizhenie-sayta-estestvennie-ssylki-na-sayt

speedyindex google forms · 14 December 2025 at 23 h 45 min

Indexing and index number checking service for Google and Yandex.
speedyindex google forms
World Health Organization bum do good from this armed service?

This serving is utile for site owners and SEO specialists World Health Organization lack to gain their visibility in Google and Yandex,
amend their website rankings, and addition living thing dealings.

SpeedyIndex helps rapidly forefinger backlinks, new pages,
and site updates. fast indexing dataframe https://t.me/backlink_master

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *