Показаны сообщения с ярлыком linux. Показать все сообщения
Показаны сообщения с ярлыком linux. Показать все сообщения

понедельник, 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

воскресенье, 6 июля 2014 г.

Основы SSL

Включаем SSL в Apache:
a2enmod ssl
a2ensite default-ssl
service apache2 restart

MariaDB и все-все-все.

MariaDB с т. зрения системного администрирования ничем не отличается от MySQL (за исключением имен установочных пакетов, пожалуй).

Меняем пароль рута (по умолчанию не установлен):
mysqladmin -u root password newpass

Проверяем версию установленной БД:
mysql -e 'show global variables like "version";' -u root -p

При установке phpMyAdmin соглашаемся с его предложением о разрешении зависимостей (не устанавливать клиент MySQL) и настраиваем доступ к сокету БД.
dpkg-reconfigure phpmyadmin

В версии 14.10 еще не исправили зависимости ряда пакетов, поэтому при установке они могут требовать mysql. С postfixadmin пришлось ковыряться руками.

Параметры, отвечающие за загрузку файлов:

post_max_size
upload_max_filesize (def 2M)
memory_limit (def 128M)

 

Обсустраиваем работу в консоли. Bash и MC.

Шкурка для Midnight Commander на 256 цветов. Xterm-256color не работает с tmux (точнее, работает с артефактами).

.bashrc: TERM=screen-256color
.config/mc/ini: skin=default заменить на skin=xoria256

Работающая мышь в Midnight Commander в 256-цветном терминале.

.bashrc: alias mc='mc -x'


По умолчанию после создания сессии выполняется только профиль .profile, а файл настроек .bashrc запускается при последующих запусках bash (вручную или внутри MC). Для этого принудительно выполняем .bashrc, записав в

.profile: 
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi


четверг, 3 июля 2014 г.

Nano: подсветка синтаксиса конфигурационных файлов.

Создаем файл /usr/share/config.nanorc следующего содержания:

# config file highlighting 
syntax "conf" "(\.([A-Za-z0-9])*(rc)$)|(\.(conf|config|cfg|cnf|profile|lst|list|defs|ini|desktop|mime|types|preset|cache|seat|service|htaccess)$|(^|/)(\w*crontab|mirrorlist|group|hosts|passwd|rpc|netconfig|shadow|fstab|inittab|inputrc|protocols|sudoers)$|conf.d/|.config/)" 
# default text 
color magenta "^.*$" 
# special values 
icolor brightblue "(^|\s|=)(default|true|false|on|off|yes|no)(\s|$)" # keys 
icolor cyan "^\s*(set\s+)?[A-Z0-9_\/\.\%\@+-]+\s*([:]|\>)" 
# commands 
color blue "^\s*set\s+\<" 
# punctuation 
color blue "[.]" 
# numbers 
color red "(^|\s|[[/:|<>(){}=,]|\])[-+]?[0-9](\.?[0-9])*%?($|\>)" 
# keys 
icolor cyan "^\s*(\$if )?([A-Z0-9_\/\.\%\@+-]|\s)+=" 
# punctuation 
color blue "/" 
color brightwhite "(\]|[()<>[{},;:=])" 
color brightwhite "(^|\[|\{|\:)\s*-(\s|$)" 
# section headings 
icolor brightyellow "^\s*(\[([A-Z0-9_\.-]|\s)+\])+\s*$" 
color brightcyan "^\s*((Sub)?Section\s*(=|\>)|End(Sub)?Section\s*$)" color brightcyan "^\s*\$(end)?if(\s|$)" 
# URLs 
icolor green "\b(([A-Z]+://|www[.])[A-Z0-9/:#?&$=_\.\-]+)(\b|$| )" 
# XML-like tags 
icolor brightcyan "</?\w+((\s*\w+\s*=)?\s*("[^"]*"|'[^']*'|!?[A-Z0-9_:/]))*(\s*/)?>" 
# strings 
color yellow "\"(\\.|[^"])*\"" "'(\\.|[^'])*'" 
# comments 
color white "#.*$" 
color blue "^\s*##.*$" 
color white "^;.*$" 
color white start="<!--" end="-->"

И ссылаемся на него в конфиге нано (.nanorc)
include "/usr/share/nano/config.nanorc"

set autoindent  #автоотступ последующих строк как у предыдущих
set smarthome   #автовозврат к первому значимому символу строки
set const       #показ номера текущей строки и позиции в строке

 

Обустраиваем работу в консоли. Byobu

Byobu - замечательная надстройка для screen/tmux, позволяющая управлять множеством одновременных сессий, не прерывающихся при обрыве связи. Must-have для консоли.

После установки возникает целый ряд проблем. 

Перехват функциональных клавиш:
для Screen - .byobu/keybindings:  
source $BYOBU_PREFIX/share/byobu/keybindings/f-keys.screen.disable
для tmux - .byobu/keybindings.tmux:   
source $BYOBU_PREFIX/share/byobu/keybindings/f-keys.tmux.disable