powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Настройка Apache под Ubuntu
5 сообщений из 5, страница 1 из 1
Настройка Apache под Ubuntu
    #39790542
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Решил для веб разработки поставить на смартбук Ubuntu. Почитал форумы, понял, что без танцев с бубном не обойтись, но решил рискнуть. Как ни странно, при установке проблем не возникло, пришлось только повозиться со звуком. После этого я установил LAMP и сделал следующие настройки:

1. В файле /etc/apache2/apache2.conf исправил

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

и добавил еще для своего сайта аналогично

<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

<Directory /var/www/html/sitename/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Как я понял из статей, это разрешает использовать в указанных директориях файл .htaccess. Перезапустил апач.

2. В файле /etc/php/7.2/apache2/php.ini исправил

short_open_tag = On

error_reporting = E_ALL
display_errors = On

и опять перезапустил апач

3. Проверил работу Apache и php, Все работает

4. Создал директорию /var/www/html/sitename

5. Скопировал в эту директорию полностью свой сайт с хостинга

6. В MySQL создал БД и заполнил ее данными (использовал дамп БД с хостинга)

После этого попробовал увидеть сайт в браузере. В адресной строке ввел

http://localhost/sitename

Получил ошибку 500

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log. Apache/2.4.29 (Ubuntu) Server at localhost Port 80

Выяснил, что виноват файл .htaccess. Он находится в корне сайта. Его содержимое:
Код: xml
1.
2.
3.
4.
5.
6.
7.
AddDefaultCharset utf-8
php_flag magic_quotes_gpc Off
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php
ErrorDocument 404 /page404.html



Если заремарчить все строки, начинающиеся с Rewrite, то этой ошибки не возникает, и я попадаю в index.php. Его содержимое:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
<?php
header("Content-Type:text/html;charset=utf-8");
session_start();
// подключение файла конфигурации
require "config.php";
//Подключение необходимых классов
echo get_include_path();
set_include_path(get_include_path()
				.PATH_SEPARATOR.CONTROLLER
				.PATH_SEPARATOR.MODEL
				.PATH_SEPARATOR.SCRIPTS_PHP
				);
echo "<br>";
echo get_include_path();

spl_autoload_register(function ($class_name) {
	try{
   		include_once ($class_name.".php");
   	}
   	catch(ContrException $e) {
			echo $e->getMessage();
	}
});
try{
	$obj = RouteController::get_instance();
	$obj->route();
}
catch(ContrException $e) {
	echo ($e);
}
?>


В браузере получаю:
.:/usr/share/php
.:/usr/share/php:controller:model:views/Scripts/php

Warning: include_once(RouteController.php): failed to open stream: No such file or directory in /var/www/html/sitename/index.php on line 38

Warning: include_once(): Failed opening 'RouteController.php' for inclusion (include_path='.:/usr/share/php:controller:model:views/Scripts/php') in /var/www/html/sitename/index.php on line 38

Fatal error: Uncaught Error: Class 'RouteController' not found in /var/www/html/sitename/index.php:57 Stack trace: #0 {main} thrown in /var/www/html/sitename/index.php on line 57

Файл RouteController.php есть в директории /controller, В нем объявлен класс RouteController, в классе есть конструктор. Но в конструктор я не попадаю, т.к. класс не найден.
Если я запускаю сайт под Windows/OpenServer, то все работает нормально
На хостинге, где Linux/Apache тоже все работает нормально
У меня Apache/php/MySQL работают нормально, а сайт работать не хочет.
Я делаю вывод, что у меня что-то не так с настройками.

Подскажите, какие еще нужны настройки Apache и php, чтобы нормально обрабатывался .htaccess и чтобы нормально находились файлы в исходниках сайта?
...
Рейтинг: 0 / 0
Настройка Apache под Ubuntu
    #39790623
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ГужановЕсли заремарчить все строки, начинающиеся с Rewrite, то этой ошибки не возникаетВероятно, в конфигах Апача не подключен mod_rewrite.

Павел Гужанов.:/usr/share/php:controller:model:views/Scripts/phpНадежнее указывать абсолютные пути. По крайней мере, они всегда трактуются однозначно.
...
Рейтинг: 0 / 0
Настройка Apache под Ubuntu
    #39790654
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,

Попробовал указать пути
var/www/html/sitename/model
var/www/html/sitename/controller
var/www/html/sitename/views/Scripts/php

Еще пробовал

/var/www/html/sitename/model
/var/www/html/sitename/controller
/var/www/html/sitename/views/Scripts/php

И еще

http://localhost/sitename/model
http://localhost/sitename/controller
http://localhost/sitenamev/views/Scripts/php

Без изменений
...
Рейтинг: 0 / 0
Настройка Apache под Ubuntu
    #39790691
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов,

Метод тыка в действии, да...
Первый и третий варианты явная лажа, второй в первом приближении похож на правду. Посмотрите полный путь RouteController.php и сравните с этим списком.
Есть смысл проверить/установить владельца и права доступа как на файл, так и на все директории в его пути.
...
Рейтинг: 0 / 0
Настройка Apache под Ubuntu
    #39791365
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,
Вы правы, дело во владельце и в правах.
Все заработало. Спасибо
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Настройка Apache под Ubuntu
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]