Vestacp, php в html сайтах

Тема в разделе "Администрирование серверов", создана пользователем Protector, 3 май 2017.

Модераторы: mefish
  1. Protector

    Protector

    Регистр.:
    17 ноя 2013
    Сообщения:
    176
    Симпатии:
    20
    Да я разные комбинации пробовал, при любых инклудах и htaccess-ах на главной http://mysite.com выводится Hello world. А вот с приставками /index.html и /5567.html ничего не выводится.

    Прописал <?php echo "Hello world"; ?> в index.html и в 435353.html, в первом случае на главной выводится Hello World, в втором случае не выводится.

    Весь VPS осмотрел, но не смог найти конфиг Apache. Где его искать ? Может это httpd.conf ? /etc/httpd/conf/httpd.conf ?
    В htaccess этот код добавил, всё равно не помогает.
     
    Последнее редактирование модератором: 4 авг 2017
  2. Kub

    Kub

    Регистр.:
    5 июн 2009
    Сообщения:
    626
    Симпатии:
    485
    В конфиге Apache для виртуального хоста .htaccess разрешено использовать?
    Должна быть такая строка
    Код:
    AllowOverride All
    Проверил на виртуалке Nginx+Apache2. Добавил в конфиге Apache2 к первой строке .htm .html и сразу заработала вставка php в html

    Код:
    # включаем обработку php-файлов модулем php
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml .htm .html
    AddType application/x-httpd-php-source .phps
    Но у меня без панели Vestacp.
     
    Последнее редактирование: 4 май 2017
    Protector нравится это.
  3. Kub

    Kub

    Регистр.:
    5 июн 2009
    Сообщения:
    626
    Симпатии:
    485
    Он. AllowOverride All есть?
    Или сюда его разместите.
     
    Protector нравится это.
  4. Protector

    Protector

    Регистр.:
    17 ноя 2013
    Сообщения:
    176
    Симпатии:
    20
    Вот скриншоты. Если заменить None на All, могут быть какие то проблемы с панелью ? Работоспособностью или безопасностью ? Не зря же None поставлено ?
    Пробовал альтернативный вариант - заменил все расширения у файлов с html на php, всё заработало. Но есть десяток уже проиндексированных сатов которые я не могу продать, надо монетизировать, так что проблему всё таки надо как нибудь решить.
     

    Вложения:

    • httpd-1.png
      httpd-1.png
      Размер файла:
      23,2 КБ
      Просмотров:
      10
    • httpd-2.png
      httpd-2.png
      Размер файла:
      17,3 КБ
      Просмотров:
      7
  5. Kub

    Kub

    Регистр.:
    5 июн 2009
    Сообщения:
    626
    Симпатии:
    485
    Это основной конфиг Apachе.
    Впишите эти строки
    Код:
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml .htm .html
    AddType application/x-httpd-php-source .phps
    (скрин httpd-1.png) после
    Код:
    <Files "^\.ht">
            Require all denied
    </Files>
    После внесения изменений перезагрузить Apache
    в Debian
    Код:
    service apache2 restart
    в CentOS
    Код:
    service httpd restart

    Проверил на виртуалке, удалил эти строки из конфига виртуальных хостов и добавил в основной конфиг Apachе. Заработала вставка.

    С безопасностью могут быть.
    Это основной конфиг Apache и в нём такие настройки по умолчанию запрещающие htaccess
    <Directory /> - для всех каталогов
    <Directory /var/www/> - для /var/www/
    <Directory /var/www/html> - для /var/www/html

    htaccess разрешают обычно использовать только для виртуального хоста. Создаётся конфиг виртуального хоста и в нём уже разрешают htaccess добавлением AllowOverride All

    Конфиг виртуального хоста примерно такой

    Код:
    <VirtualHost *:80>
        ServerAdmin admin@example.com
        DocumentRoot /var/www/html/example.com/public_html           #Корневой каталог сайта
        ServerName example.com                                       #доменное имя
        ServerAlias www.example.com
        <Directory /var/www/html/example.com/public_html>            #Настройки каталога public_html
            Options -Indexes                                         #запрещаем просмотр списка файлов и папок
            AllowOverride All                                        #Разрешаем читать файл .htaccess
            Require all granted                                      #Разрешаем доступ (директива для Apache 2.4)
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log                         #Путь к лог файлу ошибок
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    Конфиги виртуальных хостов Vestacp хранит их в /home/$user/conf/web
    где $user - это имя вашего пользователя. Но должно заработать если в основном конфиге Apache добавить строки что выше.
     
    Последнее редактирование: 7 май 2017
    Protector нравится это.
  6. Protector

    Protector

    Регистр.:
    17 ноя 2013
    Сообщения:
    176
    Симпатии:
    20
    Добавил эти строки в httpd.conf, перезапустил весь VPS, добавил в html файл эту строчку <?php echo "Hello world"; ?>. Один чёрт не выводит.
     

    Вложения:

    • httpd-3.png
      httpd-3.png
      Размер файла:
      7,2 КБ
      Просмотров:
      6
  7. denverkurt

    denverkurt Denve® Нарушитель

    Регистр.:
    23 дек 2013
    Сообщения:
    741
    Симпатии:
    440
    может быть где-то AllowOverride none имеет высший приоритет?
    попробуйте повсеместно заменить на AllowOverride all
    включая <Directory />
     
  8. Protector

    Protector

    Регистр.:
    17 ноя 2013
    Сообщения:
    176
    Симпатии:
    20
    Сейчас попробую.

    Всё равно не работает.

    Видимо придётся забить на этот десяток сателлитов и в дальнейшем менять расширения у html файлов на php.На php версии изменения отлично работают. Или придётся найти бесплатные хостинги для этих сатов, благо в базах данных они не нуждаются и весят немного.
     
    Последнее редактирование модератором: 4 авг 2017
  9. Kub

    Kub

    Регистр.:
    5 июн 2009
    Сообщения:
    626
    Симпатии:
    485
    html файл мог закэшироваться в браузере и результат не отобразится. При тестировании на виртуалке я несколько раз нажимал F5 чтобы заработала вставка, забыл написать про это.
    Нужно искать конфиг виртуального хоста Apache и пробовать добавить эти две строки в него.
    Как пишут, Vestacp хранит конфиг виртуального хоста в /home/$user/conf/web Где $user - это имя вашего пользователя.
     
    Protector нравится это.
  10. Well-Web.net

    Well-Web.net Создатель

    Регистр.:
    27 апр 2017
    Сообщения:
    34
    Симпатии:
    7
    Попробуйте обратится к хостеру, может поможет.
    Видимо с апачем что то не так, раз не один из способов не работает.

    Как вариант попробуйте переустановить панель.