Я установил apache2, php и mysql server на мою ubuntu 14.04, и был протестирован, и все работает как ожидалось.
У меня есть приложение, созданное с использованием codeigniter & amp; В прошлом он был разработан для Mac OSX, поэтому я создал следующее, чтобы запустить его на своем Ubuntu:
создайте новый файл конфигурации сайта внутри доступных сайтов с именем payroll-v1.conf, как показано ниже:
<VirtualHost *:80>
ServerName payroll.v1
DocumentRoot /home/ahmed-saber/workspace/payroll-v1/
<Directory /home/ahmed-saber/workspace/payroll-v1/>
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
добавление строки ниже в etc / hosts
127.0.0.1 payroll.v1
, хотя мое приложение не работает и всегда выводит 403, даже если я пытаюсь получить доступ к любой статической html-странице для теста
403 ошибки средства, что Ваши страницы недоступны для Apache.
Установка chmod -R 755
, как Вы сделали, сделала его доступным для всех в Вашей системе - каждый пользователь, программа, демон и т.д., Кроме того, Вы сделали весь исполняемый файл файлов этим путем (см. это или это для получения информации о гумусе о полномочиях и исполняемых файлов на Linux).
более безопасный, все же простое решение, будете добавлять себя к группе Apache (в Ubuntu www-data
) и затем изменять Вашу рабочую область Apache на эту группу:
sudo adduser ahmed-saber www-data
sudo chown .www-data /home/ahmed-saber/workspace/
chmod 750 /home/ahmed-saber/workspace/
Для более безопасного подхода Вы могли использовать Список управления доступом , который мог бы быть немного более сложным.
В таких ситуациях, можно всегда проверять журнал ошибок (/var/log/apache2/error.log
) Apache. При разработке веб-страниц, можно сохранить одно окно терминала открытым с "предпросмотром в реальном времени" журналов (error.log
или access.log
или безотносительно), как это:
tail -f /var/log/apache2/error.log
Проблема, решенная путем выполнения следующего
sudo chmod-R 755/home/ahmed-saber/workspace /*
также пустая страница из-за некоторых php ошибок
Необходимо добавить строку
ServerName payroll.v1
внутренняя часть Ваш VirtualHost
определение, чтобы сказать Apache имя узла, используемое для этого VirtualHost.