こんにちは、紳士さん、私はアメリカを開いてSAMS(イカのアカント管理システム)プロジェクトについて話さないと思います。それに関する記事は、ハブラハブルを含めて非常に一般的です。 ただし、あまり新しいことはお伝えしませんが、少し役立つと思います。
この記事を書いた最初の理由は、私のような仲間のenikeyschikov(小さな組織の管理者)を助け、別の便利で最も重要な無料の管理ツールを手に入れることです。 2つ目の理由は、さまざまなHowToによると、このツールを自分でインストールしようとしたときに、それらが不完全であるか古くなっていることを発見したためです。 、初心者と共有することにしました。
タスク
そのため、この段階的なHowToは、CentOS 6.4 i386上の独自の透過プロキシサーバーを使用して、Active Directoryを介してユーザーを認証できるようにすることを目的としています。 同時に、このサーバーには便利なWebインターフェースがあり、最も重要なことには、無料です(nixesのトピックで誰がこれに驚きたいですか?)。
SAMSについて少し
もちろん、公式リソースsams.perm.ruを読むことをお勧めします。 私にとって、SAMSは便利なトラフィックリーダーであり、美しいWebインターフェイスを備えたユーザーサーフィンログです。 しかし、すべて同じように、賛否両論(そしてもちろん、そうです)SAMSと、それを使用して自分だけを判断する価値があるかどうかです。
インストールの問題
SAMSをインストールする際の主な問題は、安定した最初のバージョン(そして現時点では愛好家がSAMS2を開発し続けていることを願っています)が長期間更新されていないため、標準リポジトリではなく古いライブラリをインストールする必要があることです。 「なんてバカなことだ!」-あなたは言う、そしてあなたはまったく正しくないだろう。なぜなら、私が記事で最初に言ったように、まず、Linuxに全く精通していない初心者のためだ。 また、問題の1つは、CentOSにインストールするためのHowToを見つけられなかったことです(OSの選択はこの記事のトピックではありませんでした)。
インストールの準備
もちろん、まず、リンクisoredirect.centos.org/centos/6/isos/i386からCentOS 6.4イメージ(現時点では最新)をダウンロードする必要があります。 次に、すべてのディスクを標準として記録し、将来のゲートウェイに最小構成でインストールします。 インストール中に、次を実行します。
- サーバーの名前を入力します。
- ネットワークを設定します(これは、習慣の問題ですが、後で構成ファイルを編集するよりも、ここでグラフィカルインターフェイスで行う方が便利です)。
- 時間パラメータを設定します。
- ルートスーパーユーザーのパスワードを設定します。
OSのセットアップ
再起動後、スーパーユーザーとしてシステムにログインします。 彼に代わって私が行うさらなる行動。
- ネットワークを忘れたか、誤って構成した場合、ネットワークインターフェースifcfg-eth0、ifcfg-eth1の構成を修正します(ゲートウェイがあるため、明らかに少なくとも2つのインターフェースがあります)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
設定ファイルの例:
DEVICE = "eth0"
BOOTPROTO =なし
NM_CONTROLLED = "yes"
ONBOOT =「はい」
TYPE = "イーサネット"
UUID = "57fb7ee8-e3da-4719-b5ec-d27e16fe0677"
HWADDR = 6C:62:6D:B7:F0:A3
IPADDR = 192.168.0.86
プレフィックス= 24
ゲートウェイ= 192.168.0.3
DNS1 = 192.168.0.2
DNS2 = 192.168.0.3
DEFROUTE =はい
IPV4_FAILURE_FATAL =はい
IPV6INIT = no
NAME = "システムeth0"
- 必須プログラムのインストール:
yum install mc nano wget ntp -y
- 時刻同期を構成します。 ドメインサーバーをタイムサーバーとして指定します。
ntpdate ntpserver vi /etc/ntp.conf
設定ファイルの例:
サーバー192.168.0.1
- iptablesを停止します。
service iptables stop chkconfig iptables off
- システムの更新:
yum makecache && yum -y update
- selinuxを無効にします。 ファイル/ etc / sysconfig / selinux put
vi /etc/sysconfig/selinux
SELINUX =無効
- 次のコマンドでサーバーを再起動します。
shutdown -r now
必要なライブラリをインストールする
- 次に、CentOS 5リポジトリを追加します。
rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm
- そしてそこからlibmysqlclient15をインストールします:
yum install libmysqlclient15 --enablerepo=webtatic
- 場合によっては、一部の古いスクリプトでは、PHP 5.3.3をバージョン5.2.17にダウングレードする必要があります。 インストールには、Atomicリポジトリを使用するのが最適です。 インストールは、新しくインストールされたサーバーで実行されました。以下は手順です。
- Atomicリポジトリーの接続
wget http://www.atomicorp.com/installers/atomic sh atomic
- インストールスクリプトのライセンスに同意します(Enterキーを押します)
- 次に、接続された標準システムリポジトリにPHPファイルを含むパッケージをインストールする機能を無効にします。 エディターを使用して、示されたセクションに変更(exclude = php *を追加)することにより、ファイル/etc/yum.repos.d/CentOS-Base.repoを編集します。
vi /etc/yum.repos.d/CentOS-Base.repo
[ベース]
exclude = php *
[更新]
exclude = php *
- 次に、ファイルを保存し(:wq)、シェルでコマンドを実行して、インストールされているPHP 5.3.3のパッケージを削除します
yum remove php*
- PHPを削除した後(phpmyadminとsquirrelmailも依存関係によって削除されます)、必要なバージョンと関連する拡張機能をコマンドでインストールする必要があります
yum install php-5.2.17 php-mcrypt-5.2.17 php-gd-5.2.17 php-mbstring-5.2.17 php-pdo-5.2.17 php-mysql-5.2.17
- 必要なすべての拡張機能がインストールされ、エラーがないことを確認してください。
php -m
- 次に、phpMyAdminとsquirrelmailをインストールします
yum install phpmyadmin yum install squirrelmail
- 構成ファイルを元の場所に戻す
mv /etc/phpMyAdmin/config.inc.php.rpmsave /etc/phpMyAdmin/config.inc.php mv /etc/squirrelmail/config.php.rpmsave /etc/squirrelmail/config.php mv /etc/httpd/conf.d/squirrelmail.conf.rpmsave /etc/httpd/conf.d/squirrelmail.conf
- 次に、ソフトウェアをインストールするときにPHPバージョンの計画外の変更を避けるために、アトミックリポジトリからPHP拡張機能を自動的にインストールする機能を無効にする必要があります-ファイル/etc/yum.repos.d/atomic.repoを編集し、他のリポジトリのファイルを編集します
vi /etc/yum.repos.d/atomic.repo
[アトミック]
exclude = php *
- 最後に、次のコマンドでApache Webサーバーを再起動します
/etc/init.d/httpd restart
PHP拡張機能をインストールする必要がある場合、rpmからインストールする最も簡単な方法は、http://www.atomicorp.com/channels/atomic/centos/6/i386/RPMS/からダウンロードすることです。
SAMSのインストールと構成
- ソフトウェアのインストール:
yum install pcre-devel squid mysql-server mysql-devel gd-devel gcc make samba-server samba-client samba bind-utils –y
- スタートアップに必要なものを追加します。
chkconfig mysqld on && chkconfig httpd on && chkconfig squid on
- SAMSビルド用の一時ディレクトリを作成します。
mkdir -p /usr/src/sams cd /usr/src/sams
- SAMSの安定バージョン(SAMSドキュメント)をダウンロードします。
wget http://nixdev.net/release/sams/sams-1.0.5.tar.bz2
リンクが機能しない場合は、試すことができます
wget http://sams.perm.ru/index.php\?option=com_doqment\&task=files.download\&cid=12
アーカイブを解凍してインストールする
tar xf sams-1.0.5.tar.bz2 cd sams-1.0.5 ./configure && make && make install chkconfig sams on cd / && rm -fr /usr/src/sams
別のインストール方法:CentOS用のコンパイル済みパッケージであるSAMS(SAMS Documentation)のSTABLEバージョンをダウンロードします(それ自体がApache用のWebディレクトリを追加します)
wget http://www.nixdev.net/release/sams/packages/CentOS_5/i386/sams-1.0.5-91.1.i386.rpm yum localinstall –nogpgcheck sams-1.0.5-91.1.i386.rpm chkconfig sams on cd / && rm -fr /usr/src/sams
- 次に、Apacheを構成し、/ etc / httpd / conf.d / sams.confに追加します
vi /etc/httpd/conf.d/sams.conf
エイリアス/ sams / usr / local / share / sams
<ディレクトリ/ usr / local / share / sams />
注文許可、拒否
すべてから許可
誰からも拒否
vi /etc/httpd/conf/httpd.conf
コメントを外して変数ServerNameに指定すると、ゲートウェイの名前が示されます。
ServerNameプロキシ-????
viエディターを使用するのが不便な場合は、nanoエディターを使用するか、Midnight Commanderファイルマネージャーであるmcコマンド(Edit F4 file)を使用できます。 viを終了するには、wqまたは単にx!と入力します。 保存せずに終了する必要がある場合は、「q!」と入力します。
(nano /etc/httpd/conf.d/sams.conf)
- sams.confを追加したら、Apacheを再起動する必要があります。
service httpd restart
- 次に、/ etc / sams.confを編集します。ここでは、2つのエントリのみを変更します。
vi /etc/sams.conf
MYSQLPASSWORD = "PASSWORD"#(SAMSユーザーの場合)
MYSQLVERSION = 5.0#(バージョン5のMySQLサーバーを使用していますが、値4.0の問題が発生する可能性があります)
また、squidguard、ldap、rejikに関連するすべてをコメントアウトします(使用する予定がない場合)
- 次に、MySQLキューでサーバーを起動し、最初の起動スクリプトが提供するすべての処理を実行します。つまり、サーバーのインストール後にルートパスワードを設定します。
/usr/bin/mysql_secure_installation service mysqld start
- MySQLユーザーsamsを作成し、必要なテーブルへの権限を付与します。
mysql -u root -p
mysqlのルートに「PASSWORD」と入力します
GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY «» WITH GRANT OPTION; GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY «» WITH GRANT OPTION; flush privileges; quit
- データベース作成スクリプトをmysql 5で実行するには、それらを編集する必要があります
#どこでもTYPE = MyISAMをENGINE = MyISAMに置き換えます
/usr/local/share/sams/data/sams_db.sql
/usr/local/share/sams/data/squid_db.sql
- SAMSダンプをデータベースに注ぎます:
mysql -u root -p < /usr/local/share/sams/data/sams_db.sql mysql -u root -p < /usr/local/share/sams/data/squid_db.sql
- Squidの番が来て、Squidスワップを収集します。プロキシサーバーを起動した後は既にです。
vi /etc/squid/squid.conf
次の行を見つけて編集します
visible_hostnameプロキシ-????
行を追加しない場合
redirect_program / usr / local / bin / samsredir
redirect_children 5
auth_param ntlmプログラム/ usr / bin / ntlm_auth --helper-protocol = squid-2.5-ntlmssp #NTLMオーセンティケーター
auth_param ntlm children 150#(同時にインターネットに座っているユーザーの数!)
auth_param ntlm keep_alive on
auth_param基本プログラム/ usr / bin / ntlm_auth --helper-protocol = squid-2.5-basic
auth_param基本的な子20
auth_param基本レルムSquidプロキシキャッシングWebサーバー
auth_param基本資格情報ttl 8時間
squidを再起動して起動します
squid –z reboot service squid start
- Cバージョン1.0 SAMSは、safe_mode phpで動作します。 セーフモードで動作するようにphpを構成する
vi /etc/php.ini
ファイル内容
safe_mode =オン
safe_mode_exec_dir = "/ usr / local / share / sams / bin"
disable_functions =#空でない場合は、phpinfoシステムshell_exec exec関数の呼び出し禁止を削除します
- さて、最後にSAMSを起動します。
service sams start
ドメインにゲートウェイを入力します
- ファイルを編集する(ドメインコントローラーのリストを追加する)
vi /etc/samba/lmhosts
"IP_address_DC1" "Network_name_DC1"#(例:192.168.100.8 serverDC01)
「IP_address_DC2」「Network_name_DC2」
- Samba構成ファイルの編集
vi /etc/samba/smb.conf
[グローバル]
workgroup = "DomainName"#(例:serverDC01)
realm = "FQDN_domain"#(例:serverDC01.firma.ru)
サーバー文字列= Sambaサーバーバージョン%v
netbios名=プロキシ-???? #ゲートウェイ名
interfaces = lo eth0 "IP_address_address + mask"#(例:192.168.10.1/24)
ホスト許可= 127.192.168。
winbind separator = \\
winbindはデフォルトのドメインを使用します= yes
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
テンプレートhomedir = / home / winnt /%D /%U
テンプレートシェル= / bin / bash
最大ログサイズ= 50
セキュリティ=ドメイン
password server = "IP_address_DC1" "IP_address_DC1"#(例:192.168.100.8 192.168.100.10はスペースで区切る必要があります)
パスワードの暗号化=はい
- サービスを再起動し、ドメインに入る
service smb restart net join –w «_» –S «__DC» –I «IP__DC» –U «___ ___»
- サービスを再起動し、ドメインからの応答を確認します
service smb restart
- サービスwinbindの開始
wbinfo –t wbinfo –p wbinfo -u
すべてが正常な場合は、スタートアップに追加します
chkconfig smb on && chkconfig winbind on
- / etc / sysconfig / iptablesのiptablesファイアウォールの規則許容ルールの中央付近に追加し、再起動します。
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 3128 -j ACCEPT
代替案:
-A INPUT -m state -state NEW -m tcp -p tcp -dport 80 -j ACCEPT#httpのポート80のルール
-A INPUT -m state -state NEW -m tcp -p tcp -dport 80 -j ACCEPT#3128プロキシポートのルール
service iptables restart
何らかの理由でファイアウォールを無効にする必要がある場合は、次のように入力する必要があります。
chkconfig iptables off chkconfig ip6tables off
SAMSセットアップ
- ブラウザで、 プロキシページに移動します-???? / sams (またはip-addressによる)
- ログイン:admin
パスワード:qwerty
パスワードを変更する必要があります。
- さらに、特にこの作業はすでに私のために行われているので(ここのhabrahabr.ru/post/130335を含む)、尊敬される読者に多数の写真とWebインターフェイスを介した最終セットアップの明らかな詳細を気にしないことにしました。
おわりに
本文には多くのブコフがあり、広大さを把握することは不可能であることを認識して、私はこの記事を終えています。 このガイドがお役に立てば幸いです。
感謝します
Anton Likhomanov、Alexander Korostylev、Konstantin Poroshin、およびIvan Klyushenkovに感謝します。