Установка и настройка локального web-сервера в Ubuntu 14.04

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

Поскольку с Windows отношения у меня не сложились, ни о каких Денверах, WAMP и прочих наборах для этой ОС речи у нас здесь идти не будет. Наш тестовый сервер ставится на Ubuntu 14.04 (или на Linux Mint 17, что, в сущности, одно и то же). В более ранних версиях возможны некоторые отличия. Постараюсь их оговаривать (то, что вспомню).

Введение

Итак, определимся, что нам нужно. Ну для начала (на всякий случай, для новичков) расшифруем аббревиатуру LAMP - Linux, Apache, MySQL, PHP. Предполагается, что Linux у нас уже есть (Если нет, то ставим, не боимся. Ubuntu или Mint, например, ставится сейчас едва ли не проще, чем Винда.). Что нужно установить.

  1. Apache - собственно, сам web-сервер.
  2. MySQL - система управления базами данных (СУБД).
  3. PHP - язык программирования.

Если вы не являетесь гуру MySQL, и не собираетесь управлять базами в консоли, вводя команды ручками, то следующим пунктом будет

  1. phpMyAdmin - графический интерфейс управления СУБД MySQL

Также нужно подумать и об отправке почты с сайта - это тоже частенько приходится тестировать.

  1. Sendmail - почтовый сервер

Также с большой вероятностью могут понадобится некоторые библиотеки PHP. В частности, у меня установлены

  1. GD - библиотека для работы с изображениями
  2. CURL - библиотека для работы с URL

Также стоит озаботиться удаленным доступом к нашему серверу. Зачем? Ну, как я уже упоминал, сервер у меня на нетбуке. А работать мне все же удобнее за компьютером с нормальной клавиатурой и большим монитором. Поэтому непосредственно за нетбуком я работаю только в дороге. А у вас может быть наоборот, сервер на рабочем компьютере (или вообще выделенный где-нибудь в кладовке), а вам хочется развалиться с планшетом на диване. Или хочется получать доступ к своему домашнему серверу из любой точки земного шара (правда для этого нужен реальный внешний IP-адрес вашей квартирной сети). В общем, удобная штука. Впрочем, если все это вам не нужно, то следующий пункт опускаем.

  1. SSH-сервер - позволяет работать с удаленным компьютером, как с родным

Ну и наконец, еще один необязательный, но очень полезный пункт. Система контроля версий (СКВ). Если у вас что-то перестало работать, а изменения перед этим были значительными, то откатить их может быть достаточно тяжело. СКВ позволяет вести учет всех изменений и откатиться в любое из предыдущих состояний одной командой. Существеут множество СКВ, но для локального использования (без доступа к интернету) лучше всего подойдет Git - детище Линуса Торвальдса.

  1. Git - система контроля версий

С необходимыми компонентами web-сервера определились, приступаем к установке и настройке

Первые три пункта вполне можно установить одной командой в терминале

    sudo apt-get install lamp-server^
          

Символ ^ в конце не случаен, это часть команды. У нас требуют пароль администратора, вводим.

Первая оговорка: эта команда действует, кажется, начиная с Ubuntu 13.04. В более ранних версиях все компоненты устанавливать придется отдельно. Впрочем, сделать это тоже можно одной командой

    sudo apt-get install apache2 php5 php5-mysql mysql-server
          

По ходу установки необходимо ответить на два вопроса. Сначала будет перечень устанавливаемых пакетов и вопрос, хотим ли мы продолжить установку. Жмем Enter. Затем нас попросят ввести пароль рута для MySQL. Вводим, подтверждаем. Дожидаемся конца установки.

Теперь настроим и протестируем все компоненты.

Apache

Открываем браузер и вводим в адресной строке

            http://localhost
          

После перехода по этому адресу видим приветственную страницу.

Тестовая страница Apache

Это означает, что сервер работает. В прошлых версиях, кстати, эта страница выглядела значительно проще - просто две строчки текста с заголовком "It works!" на белом фоне.

Теперь выполним кое-какие настройки. Для этого откроем конфигурационный файл Apache /etc/apache2/apache2.conf. Причем сделать это надо из-под рута, т.е. с правами администратора. Можно эту операцию провернуть и в графической оболочке, но их сейчас расплодилось столько, что рассказывать, как это сделать в каждой из них, придется долго. Поэтому, если знаете как - делайте. Если нет, то здесь я опишу, пожалуй, самый простой способ - консольным текстовым редактором nano.

    sudo nano /etc/apache2/apache2.conf
          

Не забываем. что после ввода команды, начинающейся с sudo, нужно ввести пароль администратора. Больше напоминать не буду.

Здесь ищем теги <Directory> (это легко сделать встроенным в nano поиском; вызывается он комбинацией клавиш, или, как говорят, хоткеем Ctrl+w) и под последним из них дописываем

    <Directory /home/user/public_html>
      AllowOverride All
      Require all granted
    </Directory>
          

Здесь мы побежали немного впереди паровоза, но раз уж нам пришлось открыть этот файл, то все изменения сразу и внесем. Яснее станет позже, пока объясню вкратце. Мы прописали опции общей директории (папки) для всех наших сайтов, а именно: разрешили использовать для нее файл .htaccess (для ЧПУ, например; но не только) и предоставили права доступа (через веб-сервер) для всех.

Дальше хоткеем Alt+/ идем в конец файла и дописываем здесь

    ServerName localhost
          

Сохраняем хоткеем Ctrl+o, подтверждаем энтером и выходим из nano (Ctrl+x).

Поскольку в подавляющем большинстве (если не у всех) у наших сайтов дефолтной страницей будет index.php, а не index.html, то открываем следующий файл.

    sudo nano /etc/apache2/mods-available/dir.conf
          

И здесь index.php помещаем в начало строки DirectoryIndex, перед index.html. Должно получиться так.

    <IfModule mod_dir.c>
      DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
    </IfModule>
          

Сохраняем и закрываем.

Виртуальные хосты

Теперь настроим виртуальные хосты. Зачем? Ну, в общем-то, можно обойтись и без этого. Все сайты хранить в отдельных папках в /var/www/html и заходить на них по адресам вида localhost/sitename (где sitename - имя папки с сайтом). Но тут есть нюанс. Если мы работаем с клоном уже существующего сайта, где прописаны URL вида "/file.html", т.е. со слешем в начале (а такие урлы встречаются довольно часто), то при переходе по такому урлу попадем в localhost/file.html (т.е. в никуда, поскольку такого пути у нас нет) вместо localhost/sitename/file.html. Ведь корневая папка у сервера прописана одна - /var/www/html. И она будет корневой для всех сайтов. Т.е. нам нужно, чтобы корневой папкой каждого сайта была именно его папка. И для каждого нашего сайта нужно будет прописать виртуальный хост.

Предположим, что у нас есть тестовый сайт. И расположен он не в /var/www/html, а в /home/user/public_html/testsite (где user - ваше имя пользователя в Linux). Почему там? В случае переустановки системы (ну мало ли что...) не придется заново заливать все сайты (я ж надеюсь /home у вас на отдельном разделе?). Да и с правами меньше мороки.

Сайт этот у нас состоит всего из одного файла index.html, содержащего следующее

    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Тестовая страница</title>
      </head>
      <body>
        Тестовая страница
      </body>
    </html>
          

Откроем /etc/hosts

    sudo nano /etc/hosts
          

Здесь в первую строку добавим имя нашего сайта.

    127.0.0.1 localhost testsite
          

Сохраняем и закрываем (напомню, Ctrl+o и Ctrl+x соответственно).

Теперь выполняем в терминале

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/testsite.conf
          

Таким образом мы создали кофигурационный файл сайта testsite, скопировав конфигурационный файл дефолтного сайта. Теперь откроем этот файл и настроим его под наш сайт.

    sudo nano /etc/apache2/sites-available/testsite.conf
          

Здесь раскомментируем (т.е. уберем #) строчку

    #ServerName www.example.com
          

И пропишем имя нашего сайта. Должно получиться:

    ServerName testsite
          

Далее исправим DocumentRoot, прописав вместо /var/www/html /home/user/public_html/testsite (не забываем вместо user поставить реальное имя пользователя).

Сохраняем и закрываем. Теперь включаем наш сайт.

    sudo a2ensite testsite
          

В терминале нам любезно подсказывают, что активировать новую конфигурацию мы можем, перезагрузив настроки Апача.

    sudo service apache2 reload
          

В адресной строке браузера пишем

    http://testsite
          

И видим нашу тестовую страничку. Если не видим - тщательно проверяем правильность своих предыдущих действий.

Ну и в дальнейшем будем работать уже с этим тестовым сайтом, а не с дефолтным.

ЧПУ

В большинстве случаев нам придется работать с ЧПУ-ссылками. Поэтому необходимо подключить модуль Апача mod_rewrite.

    sudo a2enmod rewrite
    sudo service apache2 restart
          

Теперь проверим. Создадим в корне нашего сайта (папке testsite) файл .htaccess и запишем сюда следующее

    RewriteEngine on
    RewriteRule ^test sef.html [L]
          

Это означает, что запросы на testsite/test будем перенаправлять на страницу sef.html.

Теперь создаем этот самый файл sef.html с содержимым, аналогичным index.html, кроме заголовка и текста:

    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Тест ЧПУ</title>
      </head>
      <body>
        Тест ЧПУ
      </body>
    </html>
          

Идем на http://testsite/test. Если видим нашу новосозданную страницу, значит порядок.

PHP

Теперь проверим PHP. Для этого в папке /home/user/public_html/testsite создадим текстовый файлик со следующим содержимым:

    <?php
      phpinfo();
    ?>
          

Сохраняем этот файлик под именем, например, info.php. Если мы теперь перейдем по адресу http://testsite/info.php, то увидим полную информацию об установленном в системе PHP.

PHP info

Если увидели - PHP работает.

Если сервер локальный, и доступа извне к нему нет, то файлик этот можно оставить, он, возможно, еще пригодится. Но ни в коем случае не делайте этого на общедоступном сервере, здесь этот файл должен быть удален незамедлительно после проверки!

php.ini

Ну а теперь поковыряемся в конфигурационном файле PHP, находящемся по адресу /etc/php5/apache2/php.ini. Да не просто поковыряемся, а и кое-что поменяем.

    sudo nano /etc/php5/apache2/php.ini
          
Короткая форма записи
    short_open_tag = Off
          

Это значит, что по умолчанию запрещено использовать короткую форму записи тегов, т.е. <?, а не <?php. И хотя мне нечасто приходится встречать эту форму (сам я ее не использую), иногда все же на некоторых сайтах попадается. Поэтому имеем в виду. Также имеем в виду, что ее включение не позволит включать xml непосредственно в php (только через echo).

Показ ошибок
    display_errors = Off
          

Отключен показ ошибок. Вполне естественно для рабочих сайтов - посетителям (среди которых и взломщики попадаются) совсем не нужно видеть ошибки (а тем более предупреждения). На нашем же тестовом сервере желательно этот параметр включить. Хотя иногда он может здорово мешать, поэтому здесь индивидуально. В конце концов ошибки можно и в журнале посмотреть. Если хотим выводить - ставим On.

    display_startap_errors = Off
          

Показ ошибок при запуске. Если нужно отследить ошибки при запуске PHP, меняем на On.

    track_errors = Off
          

Если поставим On, то последняя произошедшая ошибка будет первой в переменной $php_errormsg.

Сохраняем и закрываем.

Размеры файлов

По умолчанию максимальный размер загружаемого файла ограничен 2 МБ. Это касается и импорта баз данных в phpMyAdmin. А базы довольно часто бывают больше, и даже значительно. В крупных интернет-магазинах база размером 40 МБ - не редкость. Но даже этот размер меркнет перед базой размером более 800 МБ, с которой мне пришлось однажды столкнуться. Там изображения хранились прямо в базе - в формате BLOB. Поэтому в случае, если нам придется работать с подобными базами, меняем следующие параметры:

    upload_max_filesize = 2M
    post_max_size = 8M
          

Устанавливаем устраивающие нас значения.

Вполне возможно, придется поменять еще и

    max_execution_time = 30
          

MySQL

Теперь проверяем MySQL. Для этого в терминале вводим

    mysql -p -u root
          

Вводим пароль, который мы вводили для пользователя root при установке MySQL. Видим нечто подобное

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 36
Server version: 5.5.38-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Все OK. MySQL работает. Вводим quit для выхода.

Можно еще одним махом проверить работу связки MySQL и PHP. Для этого создадим файл db-test.php (все там же, в корне нашего сайта - /home/user/public_html/testsite) и запишем туда следующее.

    <?php
      $link = mysqli_connect('localhost','root','password');
      if(!$link)
        die('Connection error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());

      echo 'OK... ' . mysqli_get_host_info($link) . "\n";
      mysqli_close($link);
    ?>
          

Перейдем по адресу http://testsite/db-test.php. Если видим текст "OK... Localhost via UNIX socket", то все хорошо.

phpMyAdmin

Поехали дальше. Теперь очередь phpMyAdmin. В терминале вводим

    sudo apt-get install phpmyadmin
          

После получения списка пакетов нажимаем Enter на вопрос, хотим ли мы продолжить. В ходе установки нас спрашивают, какой сервер будем настраивать. Поскольку у нас Apache, то и выбираем, естественно, его же. Для этого нажимаем пробел, убедившись, что красный курсор установлен в квадратных скобках напротив строчки apache2. И убеждаемся, что там же, в скобках, появилась звездочка.

Установка phpMyAdmin

Нажимаем Enter. Через некоторое время появится еще одно окно с предложением установить и настроить базу данных. У нас уже выбрано "Да", жмем Enter. Вводим пароль административного пользователя базы данных (тот самый, который вводили при установке MySQL), жмем Enter, задаем пароль для регистрации phpmyadmin в базе, подтверждаем. Дожидаемся конца установки.

Теперь в терминале последовательно вводим

    sudo php5enmod mcrypt
    sudo service apache2 restart
          

И идем в браузер.

    http://localhost/phpmyadmin
          

Видим окно входа в phpMyAdmin

phpMyAdmin login

Вводим имя пользователя root и пароль, введенный нами при установке MySQL. Входим в phpMyAdmin.

phpMyAdmin

Порядок.

Библиотеки GD и CURL

Теперь доустановим библиотеки PHP GD и CURL. Здесь все крайне просто. В терминале вводим

    sudo apt-get install php5-gd php5-curl
          

Опять-таки, подтверждаем, что мы действительно хотим их установить (тоже упоминаю об этом в последний раз). И перезагружаем Apache.

    sudo service apache2 restart
          

Почтовый сервер

SSMTP

Теперь почтовик. В принципе, можно обойтись SSMTP - это легкая утилита, отправляющая письма через сторонний SMTP-сервер, например Gmail. Но в этом случае о тестировании почты оффлайн придется забыть. Если тестирование оффлайн не актуально, то ставим и настраиваем:

    sudo apt-get install ssmtp
    sudo nano /etc/ssmtp/ssmtp.conf
          

И здесь меняем значения на следующие (для Gmail-сервера).

    root=youraccount@gmail.com
    mailhub=smtp.gmail.com:587
    AuthUser=youraccount@gmail.com
    AuthPass=password
    UseSTARTTLS=YES
          

Здесь youraccount@gmail.com - ваш существующий адрес на Gmail; password - пароль вашего аккаунта на Gmail. Если не хотите Gmail, то для других сервисов настройки принципиально отличаться не будут.

Далее. В /etc/php5/apache2/php.ini находим строку ;sendmail_path =, раскомментируем ее (т.е. уберем ;) и пропишем путь к ssmtp. Должно получиться

    sendmail_path = /usr/sbin/ssmtp -t
          

Перезагружаем сервер.

    sudo service apache2 restart
          

А теперь проверим. Создадим файл index.php в testsite, откроем его и пропишем туда следующее

    <?php
      mail("testaccount@gmail.com", "Test", "Test message");
    ?>
          

Здесь опять же testaccount@gmail.com - ваш существующий адрес, к которому у вас есть доступ (здесь - какой угодно, не обязательно Gmail).

Теперь перейдем по http://testsite. Отобразиться у нас должна пустая страница. Теперь проверяем testaccount@gmail.com - туда должно прийти наше тестовое письмо.

Sendmail

Если же необходимо тестировать отправку почты оффлайн, ставим Sendmail.

На всякий случай. Речь не идет об одновременном использовании SSMTP и Sendmail - устанавливаем либо то, либо другое!

    sudo apt-get install sendmail
          

По окончанию установки запускаем

    sudo sendmailconfig
          

На все три вопроса, задаваемых в ходе установки, отвечаем утвердительно, т.е. жмем Enter.

Теперь

    sudo nano /etc/hosts
          

И здесь в строчку с 127.0.0.1 дописываем через пробел

    localhost.loc testserver
          

Здесь testserver - имя нашего сервера. Оно уже прописано строчкой ниже для 127.0.1.1. Сохраняем, закрываем и перезапускаем сервер.

    sudo service apache2 restart
          

Теперь командуем

    telnet localhost smtp
          

Получаем.

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost.loc ESMTP Sendmail 8.14.4/8.14.4/Debian-4.1ubuntu1; Sat, 26 Jul 2014 21:46:56 +0300; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]

Начинаем тестирование. Вводим

    helo localhost
          
Ответ
    250 localhost.loc Hello localhost [127.0.0.1], pleased to meet you
          
Далее чередуются команды и ответы
    mail from: no-reply@gmail.com
          
    250 2.1.0 no-reply@gmail.com... Sender ok
          
    rcpt to: user@localhost
          

Здесь user - ваше имя пользователя в Linux.

    250 2.1.5 user@localhost... Recipient ok
          
    data
          
    354 Enter mail, end with "." on a line by itself
          

Теперь мы вводим текст тестового письма. Закончить его обязательно точкой.

    test message
    .
          

Жмем Enter и получаем ответ.

    250 2.0.0 s6QItc6L010145 Message accepted for delivery
          

Прекрасно. А теперь настроим почтовый клиент, чтобы иметь возможность видеть отправленные с сайта и полученные в user@localhost письма. Я пользуюсь Thunderbird, поэтому настраивать будем его. Идем в Создать - Другие учетные записи. Выбираем тип учетной записи Unix Mailspool (Movemail), жмем Далее. Выводимое имя абсолютно без разницы, мы сюда письма только получать будем, а Адрес электронной почты прописываем user@localhost (вновь, user - это ваше имя пользователя в Ubuntu). Жмем Далее, затем еще раз Далее, и еще раз Далее, и, наконец, Готово. Если все сделали правильно - во входящих видим наше только что отправленное при тестировании письмо.

Можем протестировать через PHP, аналогично тому, как мы делали это с SSMTP, только в index.php исправим адрес получателя на user@localhost.

Теперь при работе с популярными CMS в админке будем прописывать адрес получателя писем с сайта user@localhost.loc. Почему не user@localhost? Потому что такой адрес не пройдет валидацию. И не устаю напоминать: user заменяем на ваше имя пользователя в Ubuntu.

SSH

Осталось установить SSH-сервер. Как уже говорилось, это нужно лишь в том случае, если необходимо управлять сервером удаленно.

    sudo apt-get install ssh
    sudo nano /etc/ssh/sshd_config
          

Открыли конфигурационный файл. Здесь я бы рекомендовал поменять порт, на котором ssh-сервер будет ожидать подключения. Находим строку

    Port 22
          

и меняем на любой из диапазона от 1025 до 65536, . Главное - не забыть его потом. В нашем примере пропишем

    Port 1111
          

и будем его использовать в дальнейших примерах.

Дальше находим строку

    PermitRootLogin yes
          

и меняем значение yes на no.

Можно вообще запретить входить по SSH всем, кроме одного пользователя - вас. Для этого добавляем следующую строку (здесь, как всегда, user нужно заменить на ваше имя пользователя).

    AllowUsers user
          

Перезагружаем SSH-сервер

    sudo service ssh restart
          

А теперь пробуем подключиться с удаленного устройства. Предположим, что IP-адрес сервера - 192.168.1.2. Вводим (заменив user на свое имя пользователя на сервере)

    ssh -p 1111 user@192.168.1.2
          

Вводим свой пароль на сервере и наслаждаемся. Чтобы отключиться, вводим exit.

Примечание. Если вы уже подключались к серверу с какого-либо устройства, но переустановили ОС на сервере, то после этого подключиться уже не получится. В этом случае удалите файл /home/user/.ssh/known_hosts на клиенте, подключитесь вновь и ответьте yes на вопрос Are you sure you want to continue connecting? (действительно ли вы хотите подключиться?). Все, можно работать.

Для заливки файлов на сервер удаленно также можно воспользоваться SSH, а не традиционным FTP. Можно это делать и в консоли. Но можно и проще. Показываю на примере файлового менеджера Dolphin в KDE.

В левой панели (Точки входа) жмем Сеть, здесь Добавить сетевую папку. Выбираем Папка SSH, жмем Далее и заполняем поля:

Имя - пишем что угодно, лишь бы понимать, куда мы подключаемся. Ну например, LocalServer.

Пользователь - имя пользователя на сервере.

Сервер - IP-адрес (или имя, если прописано в /etc/hosts) сервера.

Порт - мы меняли на 1111, его здесь и прописываем. Если не меняли - оставляем 22.

Протокол - выбираем fish.

Папка - для удобства пропишем корневую папку нашего web-сервера, т.е. /home/user/public_html. Теперь при подключении будем сразу попадать туда. Если оставить поле пустым - будет открываться корень Ubuntu, т.е. /.

Теперь жмем Сохранить и подключиться. И можем гонять файлы туда-сюда, как на родном компьютере.

В дальнейшем чтобы подключиться жмем Сеть и в открывшемся окне папку с земным шариком поверх с именем LocalServer.

Git

Устанавливаем.

    sudo apt-get install git
          

Настраиваем.

    git config --global user.name "User Name"
    git config --global user.email "username@gmail.com"
          

Здесь username - ваше имя, а username@gmail.com - ваша существующая почта. В общем-то, это все. Об использовании Git в ближайшем будущем надеюсь написать отдельную статью.

Удаленный доступ к сайтам

Осталось понять, как зайти браузером с удаленного компьютера (в локальной сети) на наш сервер. Возьмем мою ситуацию. Напомню, сервер - на нетбуке, а работаю я на стационарном компьютере. Так вот, на компьютере открываем /etc/hosts и в новой строке прописываем

    192.168.1.2 testsite
          

Здесь 192.168.1.2 - IP-адрес нашего сервера, testsite - имя тестового сайта (их может быть много через пробел). Теперь, набрав в адресной строке http://testsite, мы попадем именно на testsite на нашем сервере.

Владельцы и права

Ну и напоследок, еще три команды.

    sudo adduser user www-data
    chown user:www-data -R public_html
    chmod -R 775 public_html
          

Здесь user - ваше имя пользователя в Ubuntu. Мы добавили себя в группу www-data (поскольку от пользователя www-data группы www-data работает Apache и, как следствие, все популярные CMS) и сделали группу www-data группой владельца корневой папки наших сайтов и присвоили для этой папки права чтения и записи для владельца и его группы. Это нужно для того, чтобы у пользователя user (от имени которого мы заливаем файлы на сервер) и пользователя www-data (от имени которого работет CMS) имели одинаковые права. При добавлении каждого сайта над его папкой нужно будет производить эту процедуру (кроме первой команды; только не ко всей public_html, а лишь к папке нового сайта). Также нужно это делать для новых файлов, требующих изменения со стороны сервера.

Все, можно работать.