понедельник, 17 ноября 2014 г.

Linux ACL

Для каждого сайта уместно создать следующую структуру каталогов:

/srv/www/sitename
    conf
    cron
    log
    www
        js
        css

/srv/www/sitename/conf/sitename.conf:

<VirtualHost *:80>
    ServerAdmin admin@sitename
    DocumentRoot "/srv/www/sitename/www"
    ServerName sitename
    ServerAlias www.sitename

    ErrorLog "/srv/www/sitename/log/error.log"
    CustomLog "/srv/www/sitename/log/access.log" common
    LogLevel warn

    <Directory "/srv/www/sitename/www">
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
        DirectoryIndex index.php
    </Directory>
</VirtualHost>

Добавляем права пользователя:

useradd sitename -d sitename
cd /srv/www/sitename
chown -R sitename:sitename .
setfacl -Rm d:u:www-data:rwX,u:www-data:rwX .

Запускаем сайт:

ln /srv/www/sitename/conf/stiename.conf /etc/apache2/sites-available/sitename.conf
a2ensite sitename