CentOS+squid+sams+mysql+apach+php+nat+iptables
(моно сказать что это тест или как говориться лишний инфы не бывает )
ОС: CentOS 5.6
Железа:
RAM: DIM 256 md
HDD: 20 gb
CPU: intel celeron Pent3
кв.
Зеркало для CentOS: centos.mega.kg
Про инсталляцию не буду писать будем считать что ОС поставили и идем настраивать репы но если что моно посмотреть установку redhatпочти одной и тоже.
ВСЕ ДЕЛАЕМ ИЗ ПОД ROOT'a!
Код: Выделить всё
su -
Пример конф файла а getawey пропишем в /etc/sysconfig/network/:
Пример /etc/sysconfig/network-scripts/ifcfg-ethX
Код: Выделить всё
# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
DEVICE=eth1
BOOTPROTO=none
HWADDR=00:e0:4c:80:25:52
IPADDR=192.168.0.88
NETMASK=255.255.255.0
ONBOOT=yes
#HOTPLUG=no
TYPE=Ethernet
Код: Выделить всё
nano /etc/sysconfig/network
Код: Выделить всё
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
GATEWAY=192.168.0.89
и второй способ setup набираем setup из под root'a --->Network configuration ---> Edit Devices ---> выбираем сетевую карту и редактируем а в Edit DNS прописываем ДНС сервера или в /etc/resolv.conf
Пример resolv.conf
Код: Выделить всё
nameserver 127.0.0.1
nameserver 77.235.14.2
nameserver 77.235.14.3
Код: Выделить всё
nano /etc/yum.repos.d/CentOS-Base.repo
[spoilercat /etc/yum.repos.d/CentOS-Base.repo][base]
name=CentOS-5 - Base
baseurl=http://centos.mega.kg/files/5.6/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
enabled = 1
[updates]
name=CentOS-5 - Updates
baseurl=http://centos.mega.kg/files/5.6/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
enabled = 1[/spoiler]
Делаем раз и идем пить кофе (обновляем систему)
Код: Выделить всё
yum -y update
update - обновление
У мну ОС скачал 166 MB и 230 пакетов, 10-15 мин и если видим слово Complete! от все ОК.
[spoilerПример обновленных и установленных ПО]Installed:
kernel.i686 0:2.6.18-238.9.1.el5
Dependency Installed:
iscsi-initiator-utils.i386 0:6.2.0.872-6.el5 python-libs.i386 0:2.4.3-44.el5
Updated:
amtu.i386 0:1.0.6-2.el5 apr.i386 0:1.2.7-11.el5_6.4 apr-devel.i386 0:1.2.7-11.el5_6.4
audit.i386 0:1.7.18-2.el5 audit-libs.i386 0:1.7.18-2.el5 audit-libs-python.i386 0:1.7.18-2.el5
autofs.i386 1:5.0.1-0.rc2.143.el5_6.2 avahi.i386 0:0.6.16-10.el5_6 avahi-compat-libdns_sd.i386 0:0.6.16-10.el5_6
avahi-glib.i386 0:0.6.16-10.el5_6 bind.i386 30:9.3.6-16.P1.el5 bind-chroot.i386 30:9.3.6-16.P1.el5
bind-libs.i386 30:9.3.6-16.P1.el5 bind-utils.i386 30:9.3.6-16.P1.el5 centos-release.i386 10:5-6.el5.centos.1
centos-release-notes.i386 0:5.6-0 coolkey.i386 0:1.1.0-15.el5 coreutils.i386 0:5.97-23.el5_6.4
cpp.i386 0:4.1.2-50.el5 crash.i386 0:4.1.2-8.el5.centos cups.i386 1:1.3.7-26.el5_6.1
cups-libs.i386 1:1.3.7-26.el5_6.1 curl.i386 0:7.15.5-9.el5_6.2 dbus.i386 0:1.1.2-15.el5_6
dbus-libs.i386 0:1.1.2-15.el5_6 device-mapper.i386 0:1.02.55-2.el5 device-mapper-event.i386 0:1.02.55-2.el5
device-mapper-multipath.i386 0:0.4.7-42.el5_6.2 dhclient.i386 12:3.0.5-23.el5_6.4 dhcpv6-client.i386 0:1.0.10-20.el5
dump.i386 0:0.4b41-5.el5 filesystem.i386 0:2.4.0-3.el5.centos gcc.i386 0:4.1.2-50.el5
gdbm.i386 0:1.8.0-26.2.1.el5_6.1 gettext.i386 0:0.17-1.el5 glibc.i686 0:2.5-58.el5_6.3
glibc-common.i386 0:2.5-58.el5_6.3 glibc-devel.i386 0:2.5-58.el5_6.3 glibc-headers.i386 0:2.5-58.el5_6.3
hal.i386 0:0.5.8.1-62.el5 httpd.i386 0:2.2.3-45.el5.centos.1 httpd-devel.i386 0:2.2.3-45.el5.centos.1
httpd-manual.i386 0:2.2.3-45.el5.centos.1 hwdata.noarch 0:0.213.22-1.el5 initscripts.i386 0:8.45.33-1.el5.centos
jwhois.i386 0:3.2.3-12.el5 kernel-headers.i386 0:2.6.18-238.9.1.el5 kpartx.i386 0:0.4.7-42.el5_6.2
krb5-libs.i386 0:1.6.1-55.el5_6.1 krb5-workstation.i386 0:1.6.1-55.el5_6.1 ksh.i386 0:20100202-1.el5_6.5
kudzu.i386 0:1.2.57.1.26-1.el5.centos.1 less.i386 0:436-7.el5 libgcc.i386 0:4.1.2-50.el5
libgomp.i386 0:4.4.4-13.el5 libhugetlbfs.i386 0:1.3-8.2.el5 libselinux.i386 0:1.33.4-5.7.el5
libselinux-python.i386 0:1.33.4-5.7.el5 libselinux-utils.i386 0:1.33.4-5.7.el5 libsmbclient.i386 0:3.0.33-3.29.el5_6.2
libstdc++.i386 0:4.1.2-50.el5 libtiff.i386 0:3.8.2-7.el5_6.7 libuser.i386 0:0.54.7-2.1.el5_5.2
libvolume_id.i386 0:095-14.24.el5 logwatch.noarch 0:7.3-9.el5_6 lvm2.i386 0:2.02.74-5.el5_6.1
m2crypto.i386 0:0.16-7.el5 man-pages.noarch 0:2.39-17.el5 microcode_ctl.i386 1:1.17-1.52.el5
mkinitrd.i386 0:5.1.19.6-68.el5_6.1 mod_ssl.i386 1:2.2.3-45.el5.centos.1 mysql.i386 0:5.0.77-4.el5_6.6
nash.i386 0:5.1.19.6-68.el5_6.1 nfs-utils.i386 1:1.0.9-50.el5 nscd.i386 0:2.5-58.el5_6.3
nss.i386 0:3.12.8-4.el5_6 nss-tools.i386 0:3.12.8-4.el5_6 nss_ldap.i386 0:253-37.el5_6.1
numactl.i386 0:0.9.8-12.el5_6 oddjob.i386 0:0.27-11.el5 oddjob-libs.i386 0:0.27-11.el5
openldap.i386 0:2.3.43-12.el5_6.7 openldap-devel.i386 0:2.3.43-12.el5_6.7 openssh.i386 0:4.3p2-72.el5_6.3
openssh-clients.i386 0:4.3p2-72.el5_6.3 openssh-server.i386 0:4.3p2-72.el5_6.3 pam_krb5.i386 0:2.2.14-18.el5
pango.i386 0:1.14.9-8.el5.centos.2 paps.i386 0:0.6.6-20.el5 passwd.i386 0:0.73-2
patch.i386 0:2.5.4-31.el5 pciutils.i386 0:3.1.7-3.el5 pcre.i386 0:6.6-6.el5_6.1
poppler.i386 0:0.5.4-4.4.el5_6.17 poppler-utils.i386 0:0.5.4-4.4.el5_6.17 popt.i386 0:1.10.2.3-22.el5
postgresql-libs.i386 0:8.1.23-1.el5_6.1 psmisc.i386 0:22.2-7.el5_6.2 python.i386 0:2.4.3-44.el5
python-numeric.i386 0:23.7-2.2.2.el5_6.1 python-urlgrabber.noarch 0:3.1.0-6.el5 quota.i386 1:3.13-5.el5
redhat-lsb.i386 0:4.0-2.1.4.el5 rmt.i386 0:0.4b41-5.el5 rng-utils.i386 1:2.0-4.el5
rpm.i386 0:4.4.2.3-22.el5 rpm-libs.i386 0:4.4.2.3-22.el5 rpm-python.i386 0:4.4.2.3-22.el5
samba.i386 0:3.0.33-3.29.el5_6.2 samba-client.i386 0:3.0.33-3.29.el5_6.2 samba-common.i386 0:3.0.33-3.29.el5_6.2
sed.i386 0:4.1.5-8.el5 selinux-policy.noarch 0:2.4.6-300.el5_6.1 selinux-policy-targeted.noarch 0:2.4.6-300.el5_6.1
shadow-utils.i386 2:4.0.17-18.el5_6.1 sudo.i386 0:1.7.2p1-10.el5 system-config-securitylevel.i386 0:1.6.29.1-6.el5
system-config-securitylevel-tui.i386 0:1.6.29.1-6.el5 tmpwatch.i386 0:2.9.7-1.1.el5.5 tzdata.i386 0:2011g-1.el5
udev.i386 0:095-14.24.el5 util-linux.i386 0:2.13-0.56.el5 vim-common.i386 2:7.0.109-7.el5
vim-enhanced.i386 2:7.0.109-7.el5 vim-minimal.i386 2:7.0.109-7.el5 vsftpd.i386 0:2.0.5-16.el5_6.1
yum.noarch 0:3.2.22-33.el5.centos
Complete! [/spoiler]
Ставим кучу (группу) программ Development Tools
Код: Выделить всё
yum -y groupinstall "Development Tools"
groupinstall - Ставит группу пакетов
[spoilerПример обновленных и установленных ПО]Installed:
autoconf.noarch 0:2.59-12 automake.noarch 0:1.9.6-2.3.el5 automake14.noarch 0:1.4p6-13.el5.1 automake15.noarch 0:1.5-16.el5.2
automake16.noarch 0:1.6.3-8.el5.1 automake17.noarch 0:1.7.9-7.el5.2 bison.i386 0:2.3-2.1 byacc.i386 0:1.9-29.2.2
cscope.i386 0:15.5-15.1.el5_3.1 ctags.i386 0:5.6-1.1 cvs.i386 0:1.11.22-7.el5 dev86.i386 0:0.16.17-2.2
diffstat.i386 0:1.41-1.2.3.el5 dogtail.noarch 0:0.6.1-3.el5 doxygen.i386 1:1.4.7-1.1 elfutils.i386 0:0.137-3.el5
flex.i386 0:2.5.4a-41.fc6 gcc-c++.i386 0:4.1.2-50.el5 gcc-gfortran.i386 0:4.1.2-50.el5 gdb.i386 0:7.0.1-32.el5_6.2
indent.i386 0:2.2.9-14.fc6 libtool.i386 0:1.5.22-7.el5_4 ltrace.i386 0:0.5-13.45svn.el5 oprofile.i386 0:0.9.4-15.el5.centos
patchutils.i386 0:0.2.31-2.2.2 pstack.i386 0:1.2-7.2.2 python-ldap.i386 0:2.2.0-2.1 rcs.i386 0:5.7-30.1
redhat-rpm-config.noarch 0:8.0.45-32.el5.centos rpm-build.i386 0:4.4.2.3-22.el5 splint.i386 0:3.1.1-16.el5 strace.i386 0:4.5.18-5.el5_5.5
subversion.i386 0:1.6.11-7.el5_6.3 swig.i386 0:1.3.29-2.el5 systemtap.i386 0:1.3-4.el5 texinfo.i386 0:4.8-14.el5
valgrind.i386 1:3.5.0-1.el5
Dependency Installed:
at-spi.i386 0:1.7.11-3.el5 chkfontpath.i386 0:1.10.1-1.1 elfutils-libs.i386 0:0.137-3.el5
gail.i386 0:1.9.2-3.el5_4 gnome-python2-gconf.i386 0:2.16.0-1.fc6 imake.i386 0:1.0.2-3
kernel-devel.i686 0:2.6.18-238.9.1.el5 libFS.i386 0:1.0.0-3.1 libXTrap.i386 0:1.0.0-3.1
libXaw.i386 0:1.0.2-8.1 libXevie.i386 0:1.0.1-3.1 libXfont.i386 0:1.2.2-1.0.3.el5_1
libXfontcache.i386 0:1.0.2-3.1 libXmu.i386 0:1.0.2-5 libXtst.i386 0:1.0.1-3.1
libXxf86misc.i386 0:1.0.1-3.1 libfontenc.i386 0:1.0.2-2.2.el5 libgfortran.i386 0:4.1.2-50.el5
libstdc++-devel.i386 0:4.1.2-50.el5 pyspi.i386 0:0.6.1-1.el5 systemtap-runtime.i386 0:1.3-4.el5
ttmkfdir.i386 0:3.0.9-23.el5 xorg-x11-font-utils.i386 1:7.1-3 xorg-x11-fonts-base.noarch 0:7.1-2.1.el5
xorg-x11-server-Xvfb.i386 0:1.1.1-48.76.el5_6.4 xorg-x11-server-utils.i386 0:7.1-5.el5_6.2 xorg-x11-xauth.i386 1:1.0.1-2.1
xorg-x11-xfs.i386 1:1.0.2-5.el5_6.1 xorg-x11-xinit.i386 0:1.0.2-15.el5
Complete! [/spoiler]
Ставим ПО апач, пхп, мускул, скуид и всякие модули и т.д.
(httpd php php-mysql php-gd pcre-devel squid mysql-server mysql-devel gd-devel)
Код: Выделить всё
yum -y install httpd php php-mysql php-gd pcre-devel squid mysql-server mysql-devel gd-devel
gd-devel.i386 0:2.0.33-9.4.el5_4.2 mysql-devel.i386 0:5.0.77-4.el5_6.6 mysql-server.i386 0:5.0.77-4.el5_6.6 pcre-devel.i386 0:6.6-6.el5_6.1
php-gd.i386 0:5.1.6-27.el5_5.3
Dependency Installed:
e2fsprogs-devel.i386 0:1.39-23.el5_5.1 fontconfig-devel.i386 0:2.4.1-7.el5 freetype-devel.i386 0:2.2.1-28.el5_5.1 keyutils-libs-devel.i386 0:1.2-1.el5
krb5-devel.i386 0:1.6.1-55.el5_6.1 libX11-devel.i386 0:1.0.3-11.el5 libXau-devel.i386 0:1.0.1-3.1 libXdmcp-devel.i386 0:1.0.1-2.1
libXpm-devel.i386 0:3.5.5-3 libjpeg-devel.i386 0:6b-37 libpng-devel.i386 2:1.2.10-7.1.el5_5.3 libselinux-devel.i386 0:1.33.4-5.7.el5
libsepol-devel.i386 0:1.15.2-3.el5 mesa-libGL-devel.i386 0:6.5.1-7.8.el5 openssl-devel.i386 0:0.9.8e-12.el5_5.7 perl-DBD-MySQL.i386 0:3.0007-2.el5
xorg-x11-proto-devel.i386 0:7.1-13.el5 zlib-devel.i386 0:1.2.3-3[/spoiler]
Ставим SAMS идем курить маны на офф сайт самс
Код: Выделить всё
mkdir -p /usr/src/sams # создаем каталог
cd /usr/src/sams # идем на созданный каталог
wget "http://trash.sysadmins.el.kg/www/unix/src/sams-1.0.4.tar.bz2" # качаем самс из треша
ls # смотри
sams-1.0.4.tar.bz2 # есть пакет
tar xf sams-1.0.4.tar.bz2 #делаем распаковку пакета
cd sams-1.0.4 # переходим в каталог самс
ls # смотрим и читаем INSTALL
config.h contribs debian doc INSTALL.master24 Makefile.am pcre.h README.RUS samsdaemon.c spec tools.h
configure COPYING define.h etc INSTALL.RUS Makefile.in php README.UPGRADE sams_system_test tmp update[/spoiler]
Думаю здесь вес понятно.
[spoilerСодержимое файла INSTALL]English documentation:
doc/EN/index.html
English FAQ:
doc/EN/faq.html
Admin user password:
login: admin
passwd: qwerty
Auditor user password
login: Auditor
passwd: audit[/spoiler]
Код: Выделить всё
./configure && make && make install # ставим самс
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for main in -lm... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking pcre/pcre.h usability... no
checking pcre/pcre.h presence... no
checking for pcre/pcre.h... no
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking for uid_t in sys/types.h... yes
checking for unistd.h... (cached) yes
checking for working chown... yes
checking whether closedir returns void... no
checking for pid_t... yes
checking for unistd.h... (cached) yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking whether lstat dereferences a symlink specified with a trailing slash... yes
checking whether lstat accepts an empty string... no
checking whether lstat dereferences a symlink specified with a trailing slash... (cached) yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking whether stat accepts an empty string... no
checking for memmove... yes
checking for memset... yes
checking for pow... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strdup... yes
checking for strstr... yes
checking for an ANSI C-conforming const... yes
checking for pid_t... (cached) yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for the SAMS startup scripts locations... using the SAMS startup scripts locations from /etc/init.d
checking for WEB server locations... using WEB server locations from /var/www/html
checking for MYSQL headers... using mysql includes from /usr/include/mysql
checking for <mysql.h> in /usr/include/mysql... using <mysql.h> from /usr/include/mysql
checking for MYSQL library... using mysql libraryes from /usr/lib/mysql
checking for libmysqlclient in /usr/lib/mysql... using libmysqlclient from /usr/lib/mysql
checking for PCRE headers... using pcre includes from /usr/include
checking for <pcre.h> in /usr/include... using <pcre.h> from /usr/include
checking for PCRE library... using pcre libraryes from /usr/lib
checking for libpcre in /usr/lib... using libpcre from /usr/lib
configure: creating ./config.status
config.status: creating Makefile
***** Options and locations *****
system: Linux
default path: /usr/local
default runtime config file: /etc/sams.conf
location the SAMS startup script: /etc/init.d
location HTTP server root directory: /var/www/html
location mysql includes: /usr/include/mysql
location mysql libraries: /usr/lib/mysql
location pcre includes: /usr/include/pcre.h
location pcre libraries: /usr/lib
Type 'make'
gcc -DDEFPATH="\".:/usr/local/share\"" -DHAVE_CONFIG_H -DLOCALEDIR="\"/usr/local/share/locale\"" -I. -I/usr/include/mysql -I/usr/include -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -c demon.c
In file included from demon.c:19:
logtool.c: In function ‘SearchDNSBase’:
logtool.c:261: warning: ignoring return value of ‘realloc’, declared with attribute warn_unused_result
gcc -DDEFPATH="\".:/usr/local/share\"" -DHAVE_CONFIG_H -DLOCALEDIR="\"/usr/local/share/locale\"" -I. -I/usr/include/mysql -I/usr/include -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -c tools.c
tools.c: In function ‘send_mysql_query’:
tools.c:169: warning: assignment discards qualifiers from pointer target type
tools.c: In function ‘url_decode’:
tools.c:229: warning: statement with no effect
tools.c: In function ‘TestPID’:
tools.c:338: warning: implicit declaration of function ‘kill’
tools.c: In function ‘do_connect’:
tools.c:552: warning: assignment makes integer from pointer without a cast
gcc -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -o sams demon.o tools.o -I. -L/usr/lib/mysql -lmysqlclient -L/usr/lib -lpcre
gcc -DDEFPATH="\".:/usr/local/share\"" -DHAVE_CONFIG_H -DLOCALEDIR="\"/usr/local/share/locale\"" -I. -I/usr/include/mysql -I/usr/include -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -c daemon.c
In file included from daemon.c:19:
logtool.c: In function ‘SearchDNSBase’:
logtool.c:261: warning: ignoring return value of ‘realloc’, declared with attribute warn_unused_result
gcc -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -o samsf daemon.o tools.o -I. -L/usr/lib/mysql -lmysqlclient -L/usr/lib -lpcre
gcc -DDEFPATH="\".:/usr/local/share\"" -DHAVE_CONFIG_H -DLOCALEDIR="\"/usr/local/share/locale\"" -I. -I/usr/include/mysql -I/usr/include -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -c redirect.c
redirect.c: In function ‘clean_up_child_process’:
redirect.c:217: warning: implicit declaration of function ‘wait’
redirect.c: In function ‘main’:
redirect.c:449: warning: implicit declaration of function ‘getpid’
gcc -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -o samsredir redirect.o tools.o -I. -L/usr/lib/mysql -lmysqlclient -L/usr/lib -lpcre
gcc -DDEFPATH="\".:/usr/local/share\"" -DHAVE_CONFIG_H -DLOCALEDIR="\"/usr/local/share/locale\"" -I. -I/usr/include/mysql -I/usr/include -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -c samsdaemon.c
samsdaemon.c: In function ‘listdir’:
samsdaemon.c warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘__off_t’
samsdaemon.c warning: format ‘%d’ expects type ‘int’, but argument 7 has type ‘__off_t’
samsdaemon.c warning: unused variable ‘urlcode’
samsdaemon.c: In function ‘main’:
samsdaemon.c warning: unused variable ‘urlcode’
samsdaemon.c warning: unused variable ‘s’
samsdaemon.c warning: ‘symbol[1]’ may be used uninitialized in this function
samsdaemon.c warning: ‘symbol[2]’ may be used uninitialized in this function
gcc -O2 -Wall -D_BSD_SOURCE=1 -D_GNU_SOURCE=1 -o samsdaemon samsdaemon.o tools.o -I. -L/usr/lib/mysql -lmysqlclient -L/usr/lib -lpcre
make[1]: Entering directory `/usr/src/sams/sams-1.0.4'
creating /tmp/sams
cp ./etc/sams.conf /etc/sams.conf;
cp ./sams /usr/local/bin;
cp ./samsf /usr/local/bin;
cp ./samsredir /usr/local/bin;
cp ./samsdaemon /usr/local/bin;
cp ./etc/sams /etc/init.d;
cp ./mysql/recover_admin_passwd /usr/local/bin;
creating /usr/local/share/sams
cp -R php/* /usr/local/share/sams/;
chmod 777 /usr/local/share/sams/data;
chmod ugo+x /usr/local/share/sams/bin/*;
rm -f /usr/local/share/sams/data/*;
cp -R doc /usr/local/share/sams/;
cp ./mysql/sams_db.sql /usr/local/share/sams/data;
cp ./mysql/squid_db.sql /usr/local/share/sams/data;
cp ./update/upgrade_mysql_table.php /usr/local/share/sams/data;
creating symlink to sams directory
make[1]: Nothing to be done for `install-data-am'.
make[1]: Leaving directory `/usr/src/sams/sams-1.0.4'[/spoiler]
Здесь у нас стандартные пароли, пользователи на самс и БД если что меняем и здесь.
[spoilernano /etc/sams.conf][client]
SQUID_DB=squidlog
SAMS_DB=squidctrl
MYSQLHOSTNAME=localhost
MYSQLUSER=sams
MYSQLPASSWORD=samspasswd
MYSQLVERSION=4.0
SQUIDCACHEFILE=access.log
SQUIDROOTDIR=/etc/squid
SQUIDLOGDIR=/var/log/squid
SQUIDCACHEDIR=/var/spool/squid
SAMSPATH=/usr/local
SQUIDPATH=/usr/sbin
SQUIDGUARDLOGPATH=/var/log
SQUIDGUARDDBPATH=/var/db/squidguard
RECODECOMMAND=iconv -f KOI8-R -t 866 %finp > %fout
LDAPSERVER=servername_or_ipadress
LDAPBASEDN=your.domain
LDAPUSER=DomainAdministrator
LDAPUSERPASSWD=passwd
LDAPUSERSGROUP=Users
REJIKPATH=/usr/local/rejik[/spoiler]
Идем настраивать мускула (Mysql) запускаем мускула
Код: Выделить всё
/etc/init.d/mysqld start
и запускаем такой хорошенький скрипт, меняем пасс root'a и отвечаем на все YES
Код: Выделить всё
mysql_secure_installation
[spoilerПример настроек]Set root password? [Y/n] Y # включить или активизировать пароль roota ответ ДА водим пасс повторяем и все
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y # удалить ананимуса? ДА
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y # отключить удаленный доступ roota ДА
... Success!
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y # удалить базу тест ДА
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y # перезагрузить мускул ДА
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL![/spoiler]
Заходим под рутом в мускул и создаем БД.
Код: Выделить всё
mysql -p # вход под рутом
Passwor: #водим пасс
GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "samspasswd"; #создаем БД squidctrl
GRANT ALL ON squidдщп.* TO sams@localhost IDENTIFIED BY "samspasswd"; #создаем БД squidlog
flush privileges; # обновление
\q # выход из мускула
mysql -p < /usr/local/share/sams/data/sams_db.sql # заполняем таблицы готовыми данными от самс
Enter password: # водим пасс рута
mysql -p < /usr/local/share/sams/data/squid_db.sql # заполняем таблицы готовыми данными от самс
Enter password: # водим пасс рута
Код: Выделить всё
nano /etc/squid/squid.conf
Код: Выделить всё
#Default:
forwarded_for off
# TAG: cachemgr_passwd
Код: Выделить всё
services squid start
services sams start
services httpd start
Код: Выделить всё
chkconfig squid on
chkconfig sams on
chkconfig httpd on
chkconfig --list squid # Смотрим добавился ли на авто заг.
Код: Выделить всё
system-config-securitylevel-tui
│ │
│ A firewall protects against unauthorized │
│ network intrusions. Enabling a firewall blocks │
│ all incoming connections. Disabling a firewall │
│ allows all connections and is not recommended. │
│ │
│ Security Level: ( ) Enabled (*) Disabled │
│ │
│ SELinux: Enforcing │
│ Permissive │
│ Disabled │
│ │
│ ┌────┐ ┌───────────┐ ┌────────┐ │
│ │ OK │ │ Customize │ │ Cancel │ │
│ └────┘ └───────────┘ └────────┘ │
│ │
│ │
└──────────────────────────────────────────────────┘[/spoiler]
Открываем браузер любой и наберем адрес сервера (http://192.168.0.89/sams) и мы должны попасть на главную стр. sams.
Все должно быть как на скринах кроме IP сервера.
Описание этапов:
1- Авторизация пользователя для входа в самс под админом
2- Авторизация пользователя
3- Настройка ВЕБ интерфейса самс
4- Попадаем настройкам самс
5- Выбираем язык интерфейса
6- Сохраняем настройки самс
7- Нажимаем (Настраиваем самс что бы он считал логи squid'a)
8- Нажимаем
9- Включаем авторизацию ПО IP (Раздаем инет в локалку по IP)
10- Ставим галочку (Читаем логи squid'a)
11- Пившим IP сервера (меняем на свой IP)
12- Сохраняем.
После всех настроек не забываем перезапустить всю систему!
Создание правил, пользователей, ограничение на url, скорость и т.д курим самостоятельна вот линк на офф сайт самс
Проверяем работает ил PHP и поможет нам вот такой набор команд (создаем index.php в /var/www/html если вы все сделали как выше описано то все должен быть ОКой)
Код: Выделить всё
touch /var/www/html/index.php && echo '<h1>It work Html</h1> echo "<h1>It work PHP"; <?phpinfo (); ?>' > /var/www/html/index.php
Включаем поддержку NAT разрешение пересылки пакетов между сетевыми интерфейсами
Для того чтобы разрешить пересылку сетевых пакетов между сетевыми интерфейсами в системе добавьте в конец файла /etc/sysctl.conf
Пример sysctl.conf (смотрим читаем в инете что для чего и оставляем что считаем нужным ну основном защищаемся от всяких атак, делаем по больше буфер обмена и т.д. читаем в инете ))))
Код: Выделить всё
nano /etc/sysctl.conf
Код: Выделить всё
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
net.core.rmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_default = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 16777216 16777216
net.ipv4.tcp_wmem = 4096 16777216 16777216
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.all.accept_source_route=0
net.ipv4.ip_local_port_range = 16384 61000
net.ipv4.tcp_fin_timeout = 30
kernel.panic=10
net.ipv4.tcp_timestamps=0
Код: Выделить всё
sysctl -p
Код: Выделить всё
shutdown -r now или reboot
Код: Выделить всё
touch ~/firewall # создаем файл
chmod +x firewall # даем права на запуск
Код: Выделить всё
#!/bin/bash
IPT="/sbin/iptables"
EXT="XX.XXX.XX.XXX" #внешний ИП
LAN="192.168.0.88"
$IPT -F
$IPT -X
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
TCP_PORTS="21,22,25,53,80,143,443"
UPD_PORTS="53,21,20"
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p tcp -m multiport --dport $TCP_PORTS -j ACCEPT
$IPT -A INPUT -p udp -m multiport --dport $TCP_PORTS -j ACCEPT
$IPT -A INPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT
Код: Выделить всё
$IPT -t NAT -A PREROUTING -d !$EXT -i $LAN -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
Код: Выделить всё
./firewall # Запускаем
iptables -L -v # смотрим все ли ок в iptables
service iptables save # сохраняем настройки iptables
Заключение:
У мну получилось прокси сервер с билингом, ВЕБ сервер.
Надо еще по ковырять squid (кеш по баля сделать всякие acl и.т.), apche и php по настраивать в целом посмотреть в сторону security.
Пошел курить маны по iptables (все бывает первый раз))))