Как я запускал скелетное приложение Zend Framework
- Настроил LAMP сервер по этой инстркуции
- Создал директорию /var/www/zf.localhost, где будет крутится фреймворк, и скачал в нее скелет. Права для для папки настраиваю через Midnight Commander. (F9-Файл-Права, расширенные) и задаю для всех r-x (775) (настройка делается очень просто :))
Получение скелета приложения cd /var/www/zf.localhost curl -#L https://github.com/zendframework/ZendSkeletonApplication/tarball/master | tar xz --strip-components=1
-
Скачал Composer и установил скелетное приложение curl -s https://getcomposer.org/installer | php php composer.phar install
- Добавил виртуальный хост по этой инструкции. В каталоге /etc/apache2/sites-available создал файл zf.localhost.conf
<VirtualHost *:80> ServerName zf.localhost DocumentRoot /var/www/zf.localhost/public <Directory /var/www/zf.localhost/public> AllowOverride All </Directory> </VirtualHost>
В процессе настройки немного закосячил. Конфигурационный файл должен иметь расширение .conf, иначе его не подцепит утилита a2ensite для активации
-
Активация сайта a2ensite zf.localhost
- Активировал Mod Rewrite командой
sudo a2enmod rewrite
- В каталоге настроил .htaccess файл (по шаблону)
RewriteEngine On # The following rule tells Apache that if the requested filename # exists, simply serve it. RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] # The following rewrites all other queries to index.php. The # condition ensures that if you are using Apache aliases to do # mass virtual hosting, the base path will be prepended to # allow proper resolution of the index.php file; it will work # in non-aliased environments as well, providing a safe, one-size # fits all solution. RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$ RewriteRule ^(.*) - [E=BASE:%1] RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
-
Перезапуск Apache sudo service apache2 restart
-
Натройка файла /etc/hosts sudo nano /etc/hosts
Добавление строки в этот файл строки 127.0.0.1 zf.localhost
После всех этих изменений сайт по адресу http://zf.localhost заработал. Проверить ModRewrite можно просто добавив в конец УРЛ любую строку. Должна вылезти 404 я ошибка с лого ZF и описанием скелетного приложения