Ich werde auf Debian Lenny installieren, aber es gibt keinen Unterschied zu Debian Squeeze.
SAMS Es ist ein System zur Verwaltung des Benutzerzugriffs über einen Proxy-Server zu Internetressourcen. Es ist ideal für den Einsatz in privaten Unternehmen und Regierungsbehörden. Die gesamte Arbeit an Proxing, Redirecting Requests, Caching und Autorisierung wird vom Proxy-Server Squid übernommen und SAMS beschäftigt sich mit Traffic Accounting und User Management.
Squid Ein Softwarepaket, das die Funktion eines Caching-Proxy-Servers für HTTP-, FTP-, Gopher- und (falls zutreffend) HTTPS-Protokolle implementiert. Entwickelt von der Community als Open-Source-Programm (vertrieben unter der GNU GPL).
Beginnen Sie mit der Installation und Konfiguration unseres Softwarepakets.
Installation und Konfiguration des Kalmars
Fügen Sie zunächst ein Repository zu source.list hinzu, von dem aus wir alle Programme installieren werden:
Für Debian Lenny:
vi /etc/apt/sources.list deb http://archive.debian.org/debian/ lenny main contrib non-free
Für Debian Squeeze:
vi /etc/apt/sources.list deb http://mirror.yandex.ru/debian squeeze main contrib non-free
Aktualisierung des Repository
aptitude update
Aktualisieren Sie alle verfügbaren Pakete
aptitude dist-upgrade
Installieren Sie einen Proxy-Server Squid
aptitude install squid
Installieren Sie den Dateimanager mc
aptitude install mc
Installation des Texteditors vim
aptitude install vim
Installieren Sie den Webserver Apache2, MYSQL, PHP5, phpmyadmin
aptitude install apache2 mysql-server php5 phpmyadmin
Nachdem Sie den Tintenfisch erfolgreich installiert haben, fahren Sie mit der Einstellung fort:
Kopieren der Konfigurationsdatei in ein Archiv
cp /etc/squid/squid.conf /etc/squid/squid.conf_backup
Wir öffnen die Konfigurationsdatei squid.conf bequem für Sie Editor
vi Es erfordert das Lesen der Anweisungen des Benutzers. Um den Expresskurs abzuschließen, starten Sie ein Team vimtutor und übergeben Sie die Hauptbefehle, um das Programm zu verwenden.
mcedit - einfacher zu arbeiten für einen Anfänger Linuxoid
Zur Vereinfachung der Beschreibung werde ich die Arbeit mit dem Editor beschreiben. MC
mcedit /etc/squid/squid.conf
Presse F7Ein Suchfeld wird angezeigt, geben Sie in sie ein, was Sie finden müssen, indem Sie auf Enter
Wenn wir das Falsche finden, wiederholen Sie die Suche erneut und so weiter, bis wir die richtige Linie gefunden haben. Nachdem Sie die notwendigen Änderungen vorgenommen haben und den Dateiklick speichern möchten F2 Und wir akzeptieren die Veränderung. Nach dem Speichern, um die gespeicherte Datei zu schließen, klicken F10
Als nächstes werde ich schreiben, wonach wir suchen und wie es nach der Änderung aussehen sollte (der erste sieht so aus, als ob er sollte, die anderen sind so):
war:
# TAG: visible_hostname # If you want to present a special hostname in error messages, etc, # define this. Otherwise, the return value of gethostname() # will be used. If you have multiple caches in a cluster and # get errors about IP-forwarding you must set them to have individual # names with this setting. # #Default: # none
wurde:
# TAG: visible_hostname # If you want to present a special hostname in error messages, etc, # define this. Otherwise, the return value of gethostname() # will be used. If you have multiple caches in a cluster and # get errors about IP-forwarding you must set them to have individual # names with this setting. # #Default: visible_hostname inetservname
war:
http_port 3128
wurde:
http_port 3128 transparent
Achtung! Wenn Ihre Benutzer mit einem Passwort angemeldet sind, funktioniert die transparente Autorisierung nicht, Sie müssen IP:PORT Ihres Proxy-Servers im Browser des Benutzers vorschreiben.
war:
# icp_port 3130
wurde:
icp_port 0
war:
# cache_mem 8 MB
wurde:
cache_mem 256 MB
war:
# maximum_object_size_in_memory 8 KB
wurde:
maximum_object_size_in_memory 512 KB
war:
# maximum_object_size 20480 KB
wurde:
maximum_object_size 120480 KB
war:
# cache_dir ufs /var/spool/squid 100 16 256
wurde:
cache_dir ufs /var/spool/squid 5000 32 256
war:
# cache_swap_low 90 # cache_swap_high 95
wurde:
cache_swap_low 90 cache_swap_high 95
war:
# logfile_rotate 0
wurde:
logfile_rotate 5
war:
acl SSL_ports port 443 # https acl SSL_ports port 563 # snews acl SSL_ports port 873 # rsync acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl Safe_ports port 631 # cups acl Safe_ports port 873 # rsync acl Safe_ports port 901 # SWAT
wurde:
acl SSL_ports port 443 # https #acl SSL_ports port 563 # snews #acl SSL_ports port 873 # rsync acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https #acl Safe_ports port 70 # gopher #acl Safe_ports port 210 # wais #acl Safe_ports port 1025-65535 # unregistered ports #acl Safe_ports port 280 # http-mgmt #acl Safe_ports port 488 # gss-http #acl Safe_ports port 591 # filemaker #acl Safe_ports port 777 # multiling http #acl Safe_ports port 631 # cups #acl Safe_ports port 873 # rsync #acl Safe_ports port 901 # SWAT
war:
# TAG: url_rewrite_program # Specify the location of the executable for the URL rewriter. # Since they can perform almost any function there isn't one included. ... #Default: # none
wurde:
# TAG: url_rewrite_program # Specify the location of the executable for the URL rewriter. # Since they can perform almost any function there isn't one included. ... #Default: url_rewrite_program /usr/bin/samsredir
war:
#Default: # url_rewrite_children 5
wurde:
url_rewrite_children 5
war:
#auth_param basic program <uncomment and complete this line> #auth_param basic children 5 #auth_param basic realm Squid proxy-caching web server #auth_param basic credentialsttl 2 hours
wurde:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/ncsa.sams auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours
! Wenn Sie einen internen DNS-Server innerhalb des Netzwerks verwenden, können Sie dem Squid-Proxy mitteilen, dass er ihn verwenden soll, indem Sie Folgendes schreiben:
Um Ihren lokalen DNS-Server nutzen zu können, ändern wir:
war:
# TAG: dns_nameservers ... #Default: # none
wurde:
# TAG: dns_nameservers ... #Default: dns_nameservers 192.168.1.1
Speichern Sie die Änderungen und installieren Sie SAMS.
Installation von SAMS 1.5
Die notwendigen Abhängigkeiten müssen festgelegt werden:
apt-get install apache2 php5 mysql-server mysql-client build-essential autoconf automake libtool g++ php5-gd libmysqlclient15-dev php-fpdf
Wenn Sie aufgefordert werden, das root mysql-Passwort einzugeben, geben und wiederholen Sie es und schreiben Sie auf ein Stück Papier oder in ein Notizbuch, um nicht zu vergessen.
Wir erstellen ein Backup von Konfigurationen, die wir ändern werden:
cp /etc/squid/squid.conf /etc/squid/squid.conf_backup cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_backup cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini_backup
Konfiguration von PHP
SAMS kann mit PHP im safe_mode=On-Modus arbeiten. Dies erfordert jedoch zusätzliche Konfigurationseinstellungen. Dazu bearbeiten wir die PHP-Konfigurationsdatei. /etc/php5/apache2/php.ini.
1. Schalten Sie den abgesicherten Modus ein (dies ist optional, z. B. schalten Sie mich nicht ein). Aus diesem Grund haben wir die Safe_Mode-Einstellung festgelegt.
safe_mode = On
!! Achtung.Wenn Sie eine Improt in Rejik Ban Sheets haben, ergibt sich ein Fehler im Web-Interface: can't open sams config file data/urlist.txt
Safe_mode sollte in Off platziert werden, was bedeutet:
safe_mode = Off
2. SAMS verwendet Systembefehle für einige Funktionen der Schnittstelle, wie z. B. wbinfo. Im safe_mode-Modus blockiert php den Zugriff auf Systembefehle. Mit Php können Sie Systembefehle ausführen, die sich in einem Verzeichnis befinden, das durch den Parameter safe_mode_exec_dir spezifiziert wird. Dieser Parameter wird geändert:
safe_mode_exec_dir = "/usr/share/sams/bin"
3. Als nächstes erlauben wir die Ausführung von Systemskripten aus PHP-Code. Wir suchen nach einer Konfigurationsdatei und entfernen das Verbot des Aufrufs von phpinfo system shell_exec exec-Funktionen daraus:
disable_functions = "chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec"
4. Um große Bannlisten in PHP ausfüllen zu können, erhöhen wir die maximale Abfragegröße und Dateigröße.
Max. Größe
wurde:
; Maximum size of POST data that PHP will accept post_max_size = 50M
Max. Dateigröße
wurde:
; Maximum allowed size for uploaded files. upload_max_filesize = 50M
4. Alle. PHP ist bereit zu gehen.
Sie müssen den Webserver neu starten, um die Einstellungen von php.ini erneut zu lesen:
/etc/init.d/apache2 restart
Installierbar SAMS:
Gehen Sie zum Verzeichnis, wo wir Installationspakete herunterladen und einen Ordner erstellen samsWir gehen dorthin und pumpen die Installationspakete:
cd /usr/src/ mkdir sams cd sams
Wir laden Samsung-Pakete für unsere Architektur herunter:
Für amd64:
wget http://nixdev.net/release/sams/debian/lenny/sams_1.0.5_amd64.deb wget http://nixdev.net/release/sams/debian/lenny/sams-web_1.0.5_all.deb wget http://nixdev.net/release/sams/debian/lenny/sams-doc_1.0.5_all.deb
Für den i386:
wget http://nixdev.net/release/sams/debian/lenny/sams_1.0.5_i386.deb wget http://nixdev.net/release/sams/debian/lenny/sams-web_1.0.5_all.deb wget http://nixdev.net/release/sams/debian/lenny/sams-doc_1.0.5_all.deb
Installieren Sie die heruntergeladenen Pakete:
dpkg -i *.deb
Ein pseudografisches Fenster erscheint:
Настраивается пакет sams
SAMS require additional manual configuration
Currently SAMS package not ready to work out of box. Starting of samsdaemon disabled in init.d script.
Please read /usr/share/doc/sams/README.Debain for description of additional configure step.
<Ok>Drücken Sie OK.
Sams in die Datei einfügen, indem sie korrigieren /etc/init.d/sams
war:
SAMS_ENABLE=false
wurde:
SAMS_ENABLE=true
Anpassung der Konfigurationsdatei an die Adresse /etc/sams.conf
Richtig:
MYSQLPASSWORD=yourpassword REJIKPATH=/usr/local/rejik3
Als nächstes prüfen Sie, ob der Tintenfisch läuft und wenn der Befehl eine Zahl ausgibt, dann läuft er, und dann stoppen wir den Proxy-Server.
pidof squid 8534
/etc/init.d/squid stop * Stopping Squid HTTP proxy squid [ OK ]
Jetzt werden wir den Proxy-Server-Cache mit dem Befehl neu erstellen:
squid -z 2009/02/16 15:55:20| Creating Swap Directories
In diesem Stadium ist das Squid-Setup abgeschlossen, jetzt führen wir einen Proxy-Server mit dem Befehl:
init.d/squid start
Wir bereiten mysql Basis für die Arbeit von Sams vor:
gehen Sie unter den Root-Benutzer und das Passwort, das wir im Voraus in einem Notizbuch an unseren Server geschrieben haben:
http://ip_server/phpmyadmin
Dann drücken wir den Knopf.SQL Und Sie legen den Code in das Fenster. Führen Sie SQL-Abfragen auf dem Localhost-Server durch Ändern Sie unbedingt das Passwort yourpassword am:
GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "yourpassword"; GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "yourpassword";
Sie müssen drücken. OK:
Achten Sie darauf, die für Samsung erstellten Datenbanken mit Befehlen in der Serverkonsole zu füllen:
mysql -u sams -pyourpassword < /usr/share/sams/mysql/sams_db.sql mysql -u sams -pyourpassword < /usr/share/sams/mysql/squid_db.sql
Kopieren - Einfügen und Ausführen, indem Sie Ihr Passwort in Ihr eigenes ändern:
! Achtung!!!
Wenn Sie Debian Squeeze konfigurieren, müssen Sie ein Repository von Debian Lenny hinzufügen, um die erforderlichen Abhängigkeiten festzulegen.
Hinzufügen eines Repositorys, das bereits in einer Datei archiviert wurde /etc/apt/sources.list Team:
echo "deb http://archive.debian.org/debian/ lenny main contrib non-free" >> /etc/apt/sources.list
Aktualisieren Sie das Repository mit einem Team:
aptitude update
Wir stellen die notwendige Abhängigkeit durch das Team fest:
aptitude install libmysqlclient15off
Um das SAMS-Bedienfeld zu betreten, müssen Sie die Adresse im Browser eingeben http://ip_server/samswobei ip_server die IP-Adresse des Servers ist, auf dem wir installiert haben.
Eingang des Administrators:
Login: admin
Kennwort: qwerty
Eingang unter dem Auditor:
Login: auditor
Kennwort: audit
Ich rate Ihnen dringend, das Passwort sofort zu ändern und es in ein Notizbuch zu schreiben.
Wenn Sie SAMS auf einem Server installieren, der bereits mit einem Hosting-Control-Panel wie ISPmanager arbeitet, erstellen Sie beispielsweise ein Benutzer-samsweb mit der Domain sams.site.loc und erteilen ihm die Erlaubnis für CGI sowie konfigurieren Sie die Domäne so, dass sie über php CGI funktioniert, und mounten Sie im Domänenordner einfach den Inhalt des Befehls sams:
mount --bind /usr/share/sams /var/www/samsweb/data/www/sams.site.loc/
Führen Sie diesen Befehl aus und legen Sie ihn dann in eine Datei. /etc/rc.localBeim Laden des Servers wird der Ordner dann automatisch gemountet.
Sie müssen auch Rechte an den Inhalten des Ordners für Ihren Benutzer durch Befehl geben:
chown -R samsweb:samsweb /var/www/samsweb/data/www/sams.site.loc/
Es sollte so etwas sein:
.... # bits. # # By default this script does nothing. mount --bind /usr/share/sams /var/www/samsweb/data/www/sams.site.loc/ .....
Wenn die Installation einen solchen Fehler gemacht hat:
Fatal error: Cannot redeclare GetHostName() in /var/www/samsweb/data/www/sams.site.loc/src/configtray.php on line 20
Es ist notwendig, in die Skripte von SAMS einzugeben:
cd /usr/share/sams/ vi src/webconfigtray.php
war:
function GetHostName()
{
if(!($value=getenv('SERVER_NAME')))
{ $value="N.A."; }
return($value);
}wurde:
//function GetHostName()
//{
// if(!($value=getenv('SERVER_NAME')))
// { $value="N.A."; }
// return($value);
//}
vi src/configtray.php
war:
function GetHostName()
{
if(!($value=getenv('SERVER_NAME')))
{ $value="N.A."; }
return($value);
}wurde:
//function GetHostName()
//{
// if(!($value=getenv('SERVER_NAME')))
// { $value="N.A."; }
// return($value);
//}Danach wird das Web-Interface normal geöffnet.
Screenshots zum Einrichten von SAMS über das Webinterface:
Achtung!!!
Für Benutzer, die Einschränkungen unterliegen, sieht die Standardnachricht, die Samsung anzeigt, wie folgt aus:
Damit der Benutzer seine in HTML geschriebene Datei anzeigen kann, müssen Sie die Datei selbst erstellen, die dem Benutzer durch den begrenzten Befehl angezeigt wird:
touch /usr/share/sams/messages/file_denied.html
Datei
mcedit /usr/share/sams/messages/blocked.php
Muss sich ändern
war:
if($action=="rejikdenied"||$action=="sgdenied")
{
print(" <TR><TD><IMG SRC=\"$path$ICONSET/denied.gif\">");
print(" <TD> ");
print("<P><FONT COLOR=\"RED\"><B><H2>$blocked_php_3 <BR></FONT>");
print("$url<BR> <FONT COLOR=\"RED\">$blocked_php_4</H2></B></FONT> ");
exit(0);
}wurde:
if($action=="rejikdenied"||$action=="sgdenied")
{
// print(" <TR><TD><IMG SRC=\"$path$ICONSET/denied.gif\">");
// print(" <TD> ");
// print("<P><FONT COLOR=\"RED\"><B><H2>$blocked_php_3 <BR></FONT>");
// print("$url<BR> <FONT COLOR=\"RED\">$blocked_php_4</H2></B></FONT> ");
print(file_get_contents('file_denied.html'));
exit(0);
}Danach wird der Benutzer, der unter die Einschränkung gefallen ist, von Ihrer HTML-Datei vorbereitet angezeigt, die sich auf dem Weg befindet. /usr/share/sams/messages/file_denied.html
Mein Beispiel ist eine einfache Datei:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Site Blocked</title> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> </head> <body bgcolor="#000000" text="#c8c8c8" link="#c8c8c8"> <table align="center" border="0" width="640"> <tr><td align="center"> <h1>Содержимое данного сайта заблокировано для просмотра в сети "Ваша фирма".</h1> <h2 align="justify"><font color="red">Этот сайт внесен в список запрещенных адресов как мешающие полноценной работе.</font> <br>Просим извинить за неудобства. Если этот сайт Вам настоятельно требуется для работы, будте добры сообщить администратору сервера об этом. </h2> <hr> </table> </body> </html>
Achtung!!!
In den Einstellungen sams in Verfahren zur Authentifizierung des Benutzers Wählen Sie die IP- oder NCSA-Methode, die Sie benötigen, und stellen Sie sicher, dass User Templates - StandardAuf die gleiche Weise. Als nächstes erstellen Sie die erforderlichen Vorlagen und eine dieser Vorlagen, die Sie an jeden Benutzer anhängen können.
Jede Vorlage kann mit Einschränkungen verknüpft werden, wohin Sie gehen können und wo nicht, sowie die Menge an Datenverkehr für den Benutzer, Kanalgeschwindigkeit für die gesamte Vorlage und Kanalgeschwindigkeit für den einzelnen Benutzer.
Fortsetzung der Anweisungen ist an der Adresse:
In dieser Anleitung installieren wir das Redirector-Programm. Rejik Und wir konfigurieren es über das Web-Interface. SAMS
Und in dieser anweisung installieren und konfigurieren wir das online-proxy-server-statistikprogramm. Sqstat









Kommentar