Данная инструкция будет полезна начинающим веб разработчикам, чтобы изолироваться от скрупулезной подготовки программного окружения и сосредоточиться на программировании. Перечисленные шаги позволят без труда сделать из любого ПК веб сервер и возобновить свою работу, в случае непредвиденных обстоятельств.

Как сделать бэкап сайта?
Как установить веб сервер на Linux?
Как установить веб сервер на Windows?




Бэкап сайта



Название сайта — sitename.ru
Название архива с сайтом — content.tar
Название файла с дампом базы — basename.sql
IP адрес локального ПК — 192.168.1.10
Имя пользователя mysql — username
Пароль пользователя mysql — userpassword
Название базы mysql — basename

Для переноса сайта сохраним базу в sql формате и заархивируем контент в tar.

$ mysqldump -u user -p basename > basename.sql
$ tar -cvf content.tar /var/www/html
Если SSH доступа к хостингу сайта нет, то сделаем тоже самое через web интерфейс базы, например phpmyadmin и скачаем контент через ftp.

Веб сервер для Linux


$ firewall-cmd --permanent --add-service=http
$ firewall-cmd --permanent --add-service=https
$ firewall-cmd --complete-reload
$ yum install epel-release
$ yum install httpd yum-utils
$ yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ yum-config-manager --enable remi-php75
$ yum install php php-mysql
$ cat /etc/httpd
  ServerRoot              "/etc/httpd"
  Listen                  80
  Include                 conf.modules.d/*.conf
  User                    apache
  Group                   apache
  ServerAdmin             root@localhost
  ServerName              192.168.1.10:80
  <Directory />
      AllowOverride       All
      Require             all granted
  </Directory>
  DocumentRoot            "/var/www/html"
  <Directory "/var/www/html">
      Options             Indexes FollowSymlinks ExecCGI
      AllowOverride       All
      Require             all granted
  </Directory>
  <IfModule dir_module>
      DirectoryIndex      index.html
  </IfModule>
  <Files ".ht*">
      Require             all denied
  </Files>
  ErrorLog                "logs/error_log"
  LogLevel                warn
  <IfModule log_config_module>
      LogFormat           "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
      LogFormat           "%h %l %u %t \"%r\" %>s %b" common
      <IfModule logio_module>
      LogFormat           "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
      </IfModule>
  #   CustomLog "logs/access_log" common
      CustomLog "logs/access_log" combined
  </IfModule>
  <IfModule mime_module>
      TypesConfig         /etc/mime.types
      AddType             application/x-gzip      .tgz
      AddType             application/x-compress  .Z
      AddType             application/x-gzip      .gz .tgz
      AddType             text/html               .shtml
      AddOutputFilter     INCLUDES                .shtml
      AddEncoding         x-compress              .Z
      AddEncoding         x-gzip                  .gz .tgz
  </IfModule>
  AddDefaultCharset       UTF-8
  <IfModule mime_magic_module>
      MIMEMagicFile       conf/magic
  </IfModule>
  IncludeOptional         conf.d/*.conf
  <VirtualHost *:80>
      ServerAdmin         root@localhost
      DocumentRoot        /var/www/html
      ServerName          sitename.ru
  </VirtualHost>
$ systemctl enable httpd
$ systemctl start httpd
$ systemctl status httpd
$ systemctl enable mysqld
$ systemctl start mysqld
$ systemctl status mysqld
$ mysql
mysql> create database basename;
mysql> drop database basename;
mysql> create user 'username'@'localhost' identified by 'userpassword';
$ exit;
$ mysql -u username -p basename < basename.sql
$ mysql
mysql> grant all on basename.* to 'username' identified by 'userpassword';
mysql> show databases;
mysql> use basename;
mysql> show tables;
mysql> exit;
$ cp content.tar /var/www
$ cd /var/www
$ tar -xvf content.tar
$ firefox 
  sitename.ru

1-3. Настроим фаервол
4-8. Установим пакеты, необходимые для установки веб сервера httpd и сервера mysql
9. Пример настроек httpd с вырезанными комментариями
16. IP адрес компьютера
59-63. Виртуальный хост, на случай, если потребуется хостить несколько сайтов
64-69. Запускаем сервисы
71-72. Тренируемся
73. Создадим пользователя, аналогичного тому, что имеет доступ к оригиналу базу. Обычно его имя и пароль указаны в конфигурационном файле, который находится в архивируемой папке html
75. Импортируем базу
77. Назначаем права пользователю для работы с таблицами из этой базы
78-81. Проверяем содержимое базы
82-84. Копируем контент
85. Проверяем доступ к сайту в браузере

Веб сервер для Windows



Скачаем и установим OSPanel Ultimate.

Скопируем content.tar в директорию с сайтами installpath/Open server/OSPanel/domains. Разархивируем content.tar и переименуем html в sitename.ru.

Запустим Open Server и перейдем в phpmyadmin, логин root без пароля.



Импортируем базу basename.sql



Перезапустим Open Server и проверим наш сайт.