Настройка Linux и Apache для opencart

Настройка веб сервера Apache в Linux для работы с сайтами на CMS Opencart c использованием режима сеоссылок. (ЧПУ)

1. Настройка каталогов 

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

для каждого сайта в директории /var/www/

Пример: /var/www/lch01/, /var/www/lch02/

Каталоги lch01 и  lch01 будут являться корневыми для соответствующих сайтов


2. Настройка виртуального хостинга, сайт поумолчанию


 Для работы сайтов на веб сервере Apache в Linux неоходимо создать несколько

виртуальных хостов (так наз. виртуальные серверы) и поставить им в соответствие сайты,

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

Все необходимые настройки виртуальных хостов прописываються в конфигурационном файле 

/etc/apache2/sites-available/default  

(не путать с главным конфигурационным файлом /etc/apache2/apache2.conf)


Пример для сайта находящегося в директории /var/www/lch01/:

----------------------------------------------------------------

<VirtualHost _default_:80>

ServerAdmin webmaster@localhost

<Directory /var/www/lch01/>

Options FollowSymLinks

AllowOverride All

</Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory /var/www/lch01/cgi-bin>

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined


    Alias /doc/ "/usr/share/doc/"

<Directory /var/www/lch01/doc/>

        Options Indexes MultiViews FollowSymLinks

        AllowOverride None

        Order deny,allow

        Deny from all

        Allow from 127.0.0.0/255.0.0.0 ::1/128

</Directory>

DocumentRoot /var/www/lch01

</VirtualHost>

------------------------------------------------------------------


3. Настройка сеоссылок (ЧПУ)


 Для работы режима ЧПУ необходимо в корне каталога сайта (/var/www/lch01)

разместить локальный конфигурационный файл .htaccess с содержимым:

---------------------------------------------------------------

Options +FollowSymlinks

Options -Indexes

<FilesMatch "(?i)((.tpl|.ini|.log|(?<!robots).txt))">

 Order deny,allow

 Deny from all

</FilesMatch>

RewriteEngine On

RewriteBase /

#RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]

RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]

RewriteRule ^download/(.*) /index.php?route=error/not_found [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_URI} !.*.(ico|gif|jpg|jpeg|png|js|css)

RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

---------------------------------------------------------------------

 Далее необходимо:

 - в основной конфигурационный файл /etc/apache2/apache2.conf 

   добавить директиву AccessFileName .htaccess

 - разрешить работу модуля Apache rewrite командой $ sudo a2enmod rewrite 

 - в админке opencart - настройки - сервер - включить ЧПУ


Настройка завершена!!!!