Архив рубрики: howto

Файловый сервер на Linux(UBUNTU) с интеграцией в AD и «правильной» системой прав

Понеслась, ставим /настраиваем ntp для синхронизации с контроллером домена

aptitude install ntp ntpdate ntp-server

cat /etc/ntp.conf
Читать далее

Установка Google Chrome на RPM-based системы

Добавляем в файл /etc/yum.repos.d/google.repo следующие строки:

для 32-битных систем:
[google]
name=Google - i386
baseurl=http://dl.google.com/linux/rpm/stable/i386
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

для 64-битных систем:

[google]
name=Google - x86_64
baseurl=http://dl.google.com/linux/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Далее

sudo yum install google-chrome-beta

Централизованный сбор логов с нескольких серверов SQUID

Задача:
Реализовать сбор почты с нескольких серверов squid и обработку lightsquid-ом в головном офисе.

Поехали.
Обработчик на филиале,запускается в 00:00 по крону

cat updater.pl
#!/usr/bin/perl

system («bzip2 -fk -9 /usr/local/squid/logs/access.log > /access.log.bz2»);

use Net::FTP;
$ftp = Net::FTP->new(«ftp.mycompanyserver.ru», Timeout => 30, Debug => 0) || die «Can’t connect to ftp server.n»;
$ftp->login(«squid», «passnasquid») || die «Can’t login to ftp server.n»;
$ftp->cwd(«filial1») || die «Path $cfg_remote_path not found on ftp server.n»;
$ftp->binary();
#$ftp->rename(«old»,»new»);

#iz filiala v golovnoy

$ftp->put(«/usr/local/squid/logs/access.log.bz2», «access.log.bz2»);

#Sinhronizacia iz golovnogo ofisa v filial

$ftp->get(«squid.conf», «/usr/local/etc/squid/squid.conf»);
$ftp->get(«blocked.txt», «/usr/local/etc/squid/blocked.txt»);
$ftp->get(«internet_users», «/usr/local/etc/squid/internet_users»);

$ftp->quit();
system(«/usr/local/sbin/squid -k rotate»);

Обработчик головного офиса:

Запускается по крону в 6 утра

# cat traffrotator.sh
#!/bin/sh
day=`date +%d`
month=`date +%m`
year=`date +%Y`
times=`date ‘+%H:%M:%S’`;

echo «=============================================================================================»
echo «START filial1»
chmod 666 /ftp/squid/filial1/*
log=»/ftp/squid/filial1/access.log.bz2″
log_dir_filial1=»/ftp/squid/arch/filial1/${year}/${month}»
log_file_filial1=»${log_dir_filial1}/${day}_${times}_auth.log»
mkdir -p ${log_dir_filial1}

if [ -f ${log} ] ;
then
echo «FIle is EXIST»
echo «UNZIPPED»
bunzip2 ${log}
echo «Start parsing filial1»
perl /var/www/corp/stat/filial1/lightparser.pl
echo «Movie arch file filial1»
mv /ftp/squid/filial1/access.log ${log_file_filial1}
else
echo -e ‘E[31;40m File Not Exist’; tput sgr0
sendEmail -t log@mail.server.ru -s mail.server.ru -u ERROR_SQUID_UPD_filial1 -m ERROR_UPDATE_FILE_NOT_FOUND -xu log@mail.server.ru -xp pass2mailserver -f log@mail.server.ru
fi
echo «END filial1»
echo «=============================================================================================»

echo «=============================================================================================»
echo «START filial2»
chmod 666 /ftp/squid/filial2/*
log=»/ftp/squid/filial2/access.log.bz2″
log_dir_filial2=»/ftp/squid/arch/filial2/${year}/${month}»
log_file_filial2=»${log_dir_filial2}/${day}_${times}_auth.log»
mkdir -p ${log_dir_filial2}

if [ -f ${log} ] ;
then
echo «FIle is EXIST»
echo «UNZIPPED»
bunzip2 ${log}
echo «Start parsing filial2»
perl /var/www/corp/stat/filial2/lightparser.pl
echo «Movie arch file filial2»
mv /ftp/squid/filial2/access.log ${log_file_filial2}
else
echo -e ‘E[31;40m File Not Exist’; tput sgr0
sendEmail -t log@mail.server.ru -s mail.server.ru -u ERROR_SQUID_UPD_filial2 -m ERROR_UPDATE_FILE_NOT_FOUND -xu log@mail.server.ru -xp pass2mailserver -f log@mail.server.ru
fi
echo «END filial2»
echo «=============================================================================================»

Установка 1С 8.1 в связке с PostgreSQL на UBUNTU SERVER 10.10

cd /usr/local/src

wget http://wwwmaster.postgresql.org/redir/295/h/source/v8.4.1/postgresql-8.4.1.tar.gz

tar -xzvf postgresql-8.4.1.tar.gz

cd postgresql-8.4.1

mkdir patches

cd patches

wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/1c_FULL_84-0.19.2.patch

wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/postgresql-1c-8.4.patch

wget http://v8.1c.ru/overview/postgresql_patches/8-4-1/applock-1c-8.4.1.patch

aptitude install libreadline-dev zlib1g-dev libicu-dev patch unrar

ln -s /usr/lib/libicuio.so.42.1 /usr/lib/libicuio.so.34

ln -s /usr/lib/libicui18n.so.42.1 /usr/lib/libicui18n.so.34

patch -d .. -p0 <1c_FULL_84-0.19.2.patch

patch -d .. -p0 <applock-1c-8.4.1.patch

patch -d .. -p1 <postgresql-1c-8.4.patch

cd /usr/local/src/postgresql-8.4.1/src/interfaces/ecpg/preproc/

rm preproc.h

wget http://pg1c.ru/down/preproc.h

cd /usr/local/src/postgresql-8.4.1/src/backend/parser/

rm gram.h

wget http://pg1c.ru/down/gram.h

cd /usr/local/src/postgresql-8.4.1/

./configure —disable-integer-datetimes —prefix=/usr

make && make install

cd contrib

make && make install

mkdir /var/lib/pgsql

groupadd -g 5026 -o -r postgres

useradd -g postgres -o -r -d /var/lib/pgsql -s /bin/bash -c «PostgreSQL Server» -u 5026 postgres

chown postgres:postgres /var/lib/pgsql

Инициализация от пользователя postgres

su postgres

initdb -D /var/lib/pgsql/data

pg_ctl -D /var/lib/pgsql/data start

psql

password

q

pg_ctl -D /var/lib/pgsql/data stop

exit

Отредактируем pg_hba.conf

nano /var/lib/pgsql/data/pg_hba.conf

#host all all 127.0.0.1/32 trust // так было

host all postgres 127.0.0.1/32 md5 // так стало

nano /var/lib/pgsql/data/postgresql.conf

nano /etc/init.d/postgres

#!/bin/sh

case $1 in

restart)

sudo -u postgres -H /usr/bin/pg_ctl -D /var/lib/pgsql/data -l /var/lib/pgsql/data/pg.log stop

sudo -u postgres -H /usr/bin/pg_ctl -D /var/lib/pgsql/data -l /var/lib/pgsql/data/pg.log start

;;

start)

sudo -u postgres -H /usr/bin/pg_ctl -D /var/lib/pgsql/data -l /var/lib/pgsql/data/pg.log start

;;

stop)

sudo -u postgres -H /usr/bin/pg_ctl -D /var/lib/pgsql/data -l /var/lib/pgsql/data/pg.log stop

;;

*)

echo start|stop|restart

return 1;

;;

esac

chmod u+x /etc/init.d/postgres

update-rc.d postgres defaults

/etc/init.d/postgres start

netstat -atn|grep 5432

Забрасываем на сервер пакаги с 1с

dpkg -i *.deb

chown -R usr1cv81:grp1cv81 /opt/1C

update-rc.d srv1cv81 defaults

locale-gen en_US

locale-gen ru_RU

dpkg-reconfigure locales

/usr/init.d/srv1cv81 start

Использованы материалы http://pg1c.ru/?page_id=173

Настраиваем FTP сервер с авторизацией в MySql

Имеем: Установленную машину с freebsd и поднятым Apache + MySQL
В пред постах всё есть

cd /usr/ports/ftp/pure-ftpd
make config

[x] MySQL
[x] PRIVSEP
[x] PERUSERLIMITS
[x] Throttling

make install clean

echo 'pureftpd_enable="YES"' >> /etc/rc.conf

cd /usr/local/etc
cp pure-ftpd.conf.sample pure-ftpd.conf
ee
pure-ftpd.conf

Расскоменнтируем секцию
# MySQL configuration file (see README.MySQL)
MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf

mysql -u root -p

INSERT INTO mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES('127.0.0.1','ftp',PASSWORD('password'),'Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N');

FLUSH PRIVILEGES;
CREATE DATABASE ftpusers;
USE ftpusers;

CREATE TABLE admin (Username varchar(35) NOT NULL default '',Password char(32) binary NOT NULL default '',PRIMARY KEY (Username))TYPE=MyISAM;

INSERT INTO admin VALUES ('Administrator',MD5('password'));

CREATE TABLE `users` (
`User` varchar(16) NOT NULL default '',
`Password` varchar(32) binary NOT NULL default '',
`Uid` int(11) NOT NULL default '14',
`Gid` int(11) NOT NULL default '5',
`Dir` varchar(128) NOT NULL default '',
`QuotaFiles` int(10) NOT NULL default '500',
`QuotaSize` int(10) NOT NULL default '30',
`ULBandwidth` int(10) NOT NULL default '80',
`DLBandwidth` int(10) NOT NULL default '80',
`Ipaddress` varchar(15) NOT NULL default '*',
`Comment` tinytext,
`Status` enum('0','1') NOT NULL default '1',
`ULRatio` smallint(5) NOT NULL default '1',
`DLRatio` smallint(5) NOT NULL default '1',
PRIMARY KEY (`User`),
UNIQUE KEY `User` (`User`)
) TYPE=MyISAM;

INSERT INTO users VALUES ('web',MD5('webpassuser'),65534, 31, '/usr/local/www', 100, 50, 75, 75, '*', 'www', '1', 0, 0);

Выходим из sql

cd /usr/local/www/ftpadmin
fetch "http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz"

tar -xvzf ftp_v2.1.tar.gz
cd ftp
chown www config.php

идем на веб и-фейс
проходим 7 шагов. получаем готовый /usr/local/etc/pureftpd-mysql.conf
Сохраняем его.
Запускаем
/usr/local/etc/rc.d/pure-ftpd.sh start

Все

Как заставить mpd писать лог

Изначально можно посмотреть, что происходит, только запустив mpd4 не как демон, а в фореграунд-режиме. Однако во время его работы на фоне, как демона, иногда хочется знать, почему пропадает соединение. На этот случай удобно настроить mpd4 на ведение log-файла через syslogd.

Для этого добавляем (например в самый конец) /etc/syslog.conf:
!mpd
*.* /var/log/mpd.log

Для «вращения» log-файла добавляем в /etc/newsyslog.conf:
/var/log/mpd.log root:network 640 3 100 * JC

По аналогии с имеющейся записью о файле ppp.log.

Добавляем ключик «-s mpd» (значит представляться syslog’у как «mpd») в /etc/rc.conf:
mpd_enable=»YES»
mpd_flags=»-s mpd -b»

Создаем сам log-файл:
> sudo touch /var/log/mpd.log
> sudo chown root:network /var/log/mpd.log
> sudo chmod 640 /var/log/mpd.log

Заставляем сислог перечитать конфиг и перезапускаем мпд:
> sudo /etc/rc.d/syslogd reload
> sudo /etc/rc.d/newsyslog restart

> sudo /usr/loca/etc/rc.d/mpd4 restart

найдено на http://alexander.mokrov.info/2010-06-26/topic122/

Freebsd updown net iface

#Restart FreeBSD network service:

/etc/rc.d/netif restart

#После рестарта сетевых интерфейсов обновляем маршруты
/etc/rc.d/routing restart

Из удаленной сессии ssh,
чтобы не потерять с сервером коннекта

/etc/rc.d/netif restart && /etc/rc.d/routing restart

Авторизация SSH по ключу

su my_login
ssh-keygen -d
cd .ssh

id_dsa.pub — должен лежать на сервере. id_dsa ключ пользователя — пользователю

в sshd.conf должны быть раскомментированы 2 строки отвечающие за RSA аутентификацию. id_dsa.pub должен быть прописан как ключ сервера.

Всё.