約 6,170,671 件
https://w.atwiki.jp/snagplaces/pages/56.html
最終更新日時:2010年04月30日 (金) 13時32分59秒[編集] はじめに Apache2.2.3になってから、ある程度の仕様変更があったようで、httpd.confの設定が合っていないのか単純にアップグレードしただけでは動作しなくなります。 ここでは、新版になったApacheの基本的な構築を行います。mod-sslの設定はここでは取り上げません。 はじめに インストールPHP関連パッケージ Perl関連パッケージ MySQL関連パッケージ ユーザ作成 FTPアクセス許可 ファイアウォールアクセスの許可 設定ファイルの編集 サービスの起動 自動起動設定 インストール CentOSの基本インストールの状態であれば、Apacheは既にインストール済みなので、関連するパッケージのインストールのみ行います。 PHP関連パッケージ # yum install php php-mbstring 【依存パッケージ:pcp-cli php-common】 Perl関連パッケージ # yum install mod_perl perl-DBD-MySQL 【依存パッケージ:perl-DBD perl-BSD-Resource mysql】 # yum --enablerepo=rpmforge install perl-Jcode MySQL関連パッケージ # yum install mysql-devel mysql-server 【依存パッケージ:e2fsprogs-devel keyutils-libs-devel krb5-devel libselinux-devel libsepol-devel openssl-devel】 [▲上へ] ユーザ作成 Webコンテンツ編集用のユーザを作成します。FTPアクセスできれば十分なので、SSHログインはできない設定にしておきます。 # groupadd www # useradd www -g www -s /sbin/nologin # passwd www HTTPアクセスできるようにパーミッションも変更しておきます。 # chmod 711 /home/www [▲上へ] FTPアクセス許可 ユーザ追加直後はFTPアクセスできない設定になっていますので、アクセス許可できるようにしておきます。 # vi /etc/vsftpd/user_list [▲上へ] ファイアウォールアクセスの許可 FTP設定したときと同様に、WWW(HTTP)アクセスの許可もしておきます。 # setup ※「カスタマイズ」から「www(HTTP)」にチェックを入れる [▲上へ] 設定ファイルの編集 # vi /etc/httpd/conf/httpd.conf 【44行目当たり変更】OS名を表示しない ServerTokens Prod 【200行目あたり追記】phpの認識 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 【252行目あたり変更】連絡用メールアドレス ServerAdmin メールアドレス 【266行目あたり変更】サーバ名 ServerName ドメイン名 ポート 【321行目あたり変更】CGI、SSIの許可 Options Includes ExecCGI FollowSymLinks 【328行目あたり変更】.htaccessの許可 AllowOverride All 【282行目あたり変更】ルートアクセス時のパス #DocumentRoot "/home/www/public_html" DocumentRoot "/var/www/html" 【307行目あたり変更】ルートアクセス時の設定 # Directory "/home/www/public_html" Directory "/var/www/html" 【321行目あたり変更】ルートアクセス時に使用できる機能を設定 Options Includes ExecCGI FollowSymLinks Indexes MultiViews 【356行目あたりコメントアウト】ユーザディレクトリの有効 #UserDir disable 【363行目当たり変更】ユーザディレクトリの基本パス UserDir /home/*/public_html 【371行目あたり変更】ユーザディレクトリの設定 Directory /home/*/public_html 【372行目あたり変更】.htaccessの許可 AllowOverride All 【373行目あたり変更】ユーザディレクトリアクセス時に使用できる機能を設定 Options Includes ExecCGI FollowSymLinks Indexes MultiViews 【382行目あたり変更】 /Directory 【392行目あたり変更】ディレクトリアクセス時に強制アクセスするファイル名(左から優先) DirectoryIndex index.htm index.html index.cgi index.php 【486行目あたり変更】長いURIはログに記録しない LogFormat "%h %l %u %t \"%!414r\" % s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 【515行目あたり追記】その他ログに記録させない項目 SetEnvIf Request_URI "default\.ida" no_log SetEnvIf Request_URI "cmd\.exe" no_log SetEnvIf Request_URI "root\.exe" no_log SetEnvIf Request_URI "Admin\.dll" no_log SetEnvIf Request_URI "NULL\.IDA" no_log SetEnvIf Remote_Addr 192.168 no_log SetEnvIf Remote_Addr 127.0.0.1 no_log 【522行目あたり変更】上記以外のログを記録する CustomLog logs/access_log combined env=!no_log 【532行目あたり変更】Apacheのバージョンを表示しない ServerSignature Off 【550行目あたり変更】アイコンディレクトリ一覧を表示しない Options MultiViews 【572行目あたりコメントアウト】CGI専用実行アドレスは使用しない #ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 【658・659行目あたりコメントアウト】 #ReadmeName README.html #HeaderName HEADER.html 【665行目あたりコメントアウト】 #IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t 【739行目あたり変更】日本語を優先 LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW 【755行目あたりコメントアウト】 #AddDefaultCharset UTF-8 【786行目あたり変更】実行CGIに.plを追加 AddHandler cgi-script .cgi .pl 【807行目あたり変更】SSIを実行できる拡張子を指定 AddOutputFilter INCLUDES .shtml .htm .html .cgi .php 適当なHTMLやCGIを作成して動作確認してみてください。 [▲上へ] サービスの起動 # service httpd start 自動起動設定 # chkconfig httpd on [▲上へ]
https://w.atwiki.jp/uo77/pages/29.html
インストール 以下のサイトからSAクライアント用のパッチャーをダウンロードしてインストールする。 インストール手順についても記載されている。 パッチを1から適用するため少々時間が掛かります。 ウルティマオンライン(公式)
https://w.atwiki.jp/akiwada/pages/50.html
パッケージ更新 最初にパッケージ情報を更新し,さらに既存のパッケージを最新版にしておきます。 ~$ sudo apt-get update (略) ~$ sudo apt-get upgrade (略) 関連パッケージのインストール ~$ sudo apt-get install trac libapache2-mod-python libapache2-svn python-setuptools unzip wget デフォルトTracパッケージの削除 Trac日本語版を使用するため,次にtracパッケージのみをapt-getでアンインストールします ~$ sudo apt-get --purge remove trac Genshiインストール 先ほどインストールしておいたsetuptools (python-setuptoolsパッケージ)に含まれるeasy_installコマンドを用いて,Genshi 0.5.1をインストールします ~$ sudo easy_install -Z Genshi==0.5.1 Trac日本語版のインストール インタアクト社のTrac日本語版をダウンロードして,Eggを作成し,インストールします ~$ wget http //www.i-act.co.jp/project/products/downloads/Trac-0.11.2.1.ja1.zip (略) ~$ unzip Trac-0.11.2.1.ja1.zip (略) ~$ cd Trac-0.11.2.1.ja1/ ~/Trac-0.11.2.1.ja1$ python setup.py bdist_egg running bdist_egg running egg_info creating [[Trac]].egg-info writing requirements to Trac.egg-info/requires.txt (略) ~/Trac-0.11.ja1$ sudo easy_install dist/Trac-0.11.2.1.ja1-py2.5.egg Processing Trac-0.11.2.1.ja1-py2.5.egg removing '/usr/lib/python2.5/site-packages/Trac-0.11.2.1.ja1-py2.5.egg' (and everything under it) creating /usr/lib/python2.5/site-packages/Trac-0.11.2.1.ja1-py2.5.egg Extracting Trac-0.11.2.1.ja1-py2.5.egg to /usr/lib/python2.5/site-packages Trac 0.11.2.1.ja1 is already the active version in easy-install.pth Installing trac-admin script to /usr/bin Installing tracd script to /usr/bin Installed /usr/lib/python2.5/site-packages/Trac-0.11.2.1.ja1-py2.5.egg Processing dependencies for Trac==0.11.2.1.ja1 Finished processing dependencies for Trac==0.11.2.1.ja1 ~/Trac-0.11.2.1.ja1$ Pluginのインストール ユーザーの追加などを行うプラグイン AccountManagerPluginをインストールします ~$ sudo easy_install http //trac-hacks.org/svn/accountmanagerplugin/trunk 設定ファイルtrac.iniを扱うプラグインIniAdminPluginをインストールします ~$ sudo easy_install http //trac-hacks.org/svn/iniadminplugin/0.11
https://w.atwiki.jp/orbiter_shuttle/pages/12.html
インストールについて インストールする際には、下記のようにします。 Shuttle Fleet関連のZIPファイルをダウンロードしてきます(※1) 新しいフォルダを作って(名前はなんでもよい ”STS” "Shuttlefleet"など)ORBITERをクリーンインストールします。Orbiter Soundもお忘れなく。サウンドモジュールのバージョンは3.0でも3.5でも構いません。(ZIPはWindowsXP以降では標準で展開できます。以前のバージョンをお使いの方は適宜解凍ツールを使用してください) クリーンインストールしたフォルダに1.でダウンロードしてきたファイルを次の順番で”上書き”します。 1. Shuttle Fleet V4.0.0 2. ISS Fleet V2.0.0 3. STS Expansion Pack V4.0.0 4. NASA Aircraft Fleet V4.0.0 5. The Node Module by Well 6. The Columbus Module by No Matter クリーンインストールしたフォルダ/Config/Vesselsにある"Colombus.cfg"をメモ帳などのテキストエディタで開く。 ファイルの最後に以下のデータを追加して "上書き" 保存する。 ;===attachments=== BEGIN_ATTACHMENT P 0 -0.95 0 0 -1 0 0 0 -1 XS P 0 2.10 -2.60 0 1 0 0 0 1 GS END_ATTACHMENT Orbiter!を起動して、Orbiter Launchpadにおいて、Modulesのタブを開き、右側のInactive modulesからGPCMFD,OrbiterSound,STSGuidanceMFDを選択し、Activate selectedボタンを押し、左側のActive modulesに移動します(すでにActive modulesに入っていれば不要です)。 #他に必要なモジュールがありましたら、適宜追加してくださいませ。 ※1 2008/3月現在のファイル名 ※DLリンクはトップページにあります。 ShuttleFleetV4.0.1.zip ISSFleetV2.0.0.zip STSExpansionPackV4.0.1.zip STS-122 Scenarios for Exp Pack Node Module by Well http //orbiter.mustard-fr.com/addons/download.php?file=WellArtemisThemisPMA Columbus Module by No Matter http //orbiter.mustard-fr.com/addons/download.php?file=Columbusv2
https://w.atwiki.jp/rubyocho/pages/37.html
動作環境 パッケージ yum lighttpd, lighttpd-fastcgi ruby-gemパッケージのインストール Gem GemRunner(NameError)"のエラー対策 gemパッケージをインストール その他、必要なプログラム 本プログラムのインストール chasen辞書の設定 データベースの設定 Webサーバの設定: 動作環境 おそらく、RedHatやCentOSのyum系dも動くかも? CentOS5.1で パッケージ yum yum listで下調べ # yum list | grep ruby ruby.i386 1.8.5-5.el5_1.1 installed ruby-devel.i386 1.8.5-5.el5_1.1 installed ruby-libs.i386 1.8.5-5.el5_1.1 installed ruby-mode.i386 1.8.5-5.el5_1.1 installed ruby-docs.i386 1.8.5-5.el5_1.1 updates ruby-irb.i386 1.8.5-5.el5_1.1 updates ruby-rdoc.i386 1.8.5-5.el5_1.1 updates # yum list | grep lib | grep ruby apt-getで必要なパッケージは、 apt-get install ruby irb ruby1.8-dev libpgsql-ruby1.8 libfcgi-ruby1.8 librmagick-ruby1.8 libopenssl-ruby1.8 rdoc zlib1g-dev apache2 postgresql postfix chasen chasen-dictutils libchasen-dev ipadic kakasi libkakasi-ruby1.8 zip unzip rsync libgd2-xpm libgd-ruby1.8 libxslt1-dev xsltproc gcc make とりあえず、いける所まで、言ってみよ~~。 lighttpd, lighttpd-fastcgi lighttpd+PHP ruby-gemパッケージのインストール http //www.rubygems.org/からruby-gemの最新版をインストール wget http //rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz tar xzovf rubygems-1.0.1.tgz cd rubygems-1.0.1 ruby setup.rb apt-get install rubygems Gem GemRunner(NameError)"のエラー対策 http //d.hatena.ne.jp/bottleneck/20080112/1200135756 gemパッケージをインストール gem install rake scrapi tidy --include-dependencies その他、必要なプログラム 音声合成やルビ振りのページの作成のために,rubyからchsenを使用するためのライブラリ wget http //raa.ruby-lang.org/cache/ruby-chasen/chasen1.6.tar.gz tar zxvf chasen1.6.tar.gz cd chasen1.6 ruby extconf.rb make sudo make install 音声合成プログラムであるlameをダウンロードし、インストール wget http //downloads.sourceforge.net/lame/lame-3.97.tar.gz tar zxvf lame-3.97.tar.gz cd lame-3.97 ./configure make make install 本プログラムのインストール ディレクトリ配置プログラム本体: /var/share/cms/ (所有者www-dataユーザ) 公開ページのdoc root: /var/www/cms/ (所有者www-dataユーザ) 本プログラムを/var/share/cms/にcopy mkdir -p /var/share/cms chown -R www-data www-data /var/share/cms tar zxvf pref-shimane-cms-1.0.0.tar.gz mkdir /var/www/cms cp -r pref-shimane-cms-1.0.0/* /var/share/cms/ chown -r www-data www-data /var/share/cms chasen辞書の設定 ページの読み上げ機能のためにユーザが単語の読みを登録 辞書の作成と、辞書をchasenが利用できるように cd /var/share/cms/dict/ sudo -u www-data make chasenの辞書directoryにユーザ辞書へのsymlinkを作成 ln -s /var/share/cms/dict/user.* /usr/share/chasen/dic/ipadic/ データベースの設定 データベースユーザの作成 createuser www-data Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) n データベースの作成:テスト用、開発用、本番用のデータベースを作成 createdb -U www-data cms_test -E UNICODE createdb -U www-data cms_development -E UNICODE createdb -U www-data cms_production -E UNICODE Webサーバの設定:
https://w.atwiki.jp/hik2654/pages/5.html
rubyのインストール MacOSX10.4(Tiger)には、Rubyがインストールしてあるが、 バージョンが1.8.2なので、最新版(1.8.5)にバージョンアップする そのままインストールすると、「irb」を使うとエラーが発せするので 「readline」のバージョンもアップする。 readlineのインストール curl -O ftp //ftp.gnu.org/gnu/readline/readline-5.2.tar.gz tar xzvf readline-5.2.tar.gz cd readline-5.2 ./configure --prefix=/usr/local make sudo make install ruby1.8.5のインストール curl -O ftp //ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.5.tar.gz tar xzvf ruby-1.8.5.tar.gz cd ruby-1.8.5 ./configure --prefix=/usr/local --enable-pthread --with-readline-dir=/usr/local make sudo make install sudo make install-doc rubyがインストールされたことを確認する ruby -v これでインストールしたrubyのバージョンが表示される rubyのパッケージ管理ツール【RubyGems 】のインストール curl -O http //rubyforge-files.ruby-forum.com/rubygems/rubygems-0.9.0.tgz tar xzvf rubygems-0.9.0.tgz cd rubygems-0.9.0 sudo /usr/local/bin/ruby setup.rb
https://w.atwiki.jp/kapper1224/pages/60.html
CentOS 8.0以降 久々のメジャーアップデートとなるCentOS8.0以降では Kernel4.18を搭載しており、AtomのWindowsタブレットやStickPCでも バグが少なくなり問題なく起動出来る。 Fedoraと同じくUEFI32bitと64bitに両方対応。 インストールは簡単でUSBメモリにISOファイルを焼いてAnacondaから普通にインストール。 一部タッチスクリーンなどドライバが動作しない場合があるので 最新のKernelに入れ替える必要がある。 こちらをご参考に CentOS 7 最新安定版カーネルインストール、及び切り替え https //server.etutsplus.com/centos-7-how-to-update-kernel-to-the-latest-mainline-stable/ CentOS 7.x以前 サーバ用途によく使われているCentOS7.xですが、 Windowsタブレットで動かすにはAtomのバグの影響で、 かなり限定された機種のみ動作確認出来ています。 条件として、 1.Kernel3.10でも起動できるCPU =Bay-Trail以降のAtomを除く 2.CPUでLegacy―BIOS世代(Windows7以前)、 AMDのCPU、CoreM世代 3.UEFIのブートバグに引っかからなかった機種 で、最近のAtom以外なら起動確認出来ています。 Atomのサポートは主にKernel4.4〜4.9以降の機種なので、 もう少し待ちましょう。 最初の1回が起動できたらKernel載せ替えが可能なので使えます。 また、CentOS7.5は既にUEFI32bit、64bit対応していますので UEFIの問題はFedoraと同様に対応済みです。 ISOファイルをDDかRufusかなにかでUSBメモリに焼いて起動しましょう。
https://w.atwiki.jp/mash2190/pages/65.html
CentOS 5 インストールメモ CentOSでウェブサーバーを構築したときの個人的な環境設定の覚書きです。 最低限のセキュリティにつき、本運用はユーザーの自己責任で行ってください。 ※この記事はCentOS5.4リリース当時のもので古く 特に記載がない場合はCentOS5.xによる設定です。 現在はCentOS6に移行しています。 初回ローカルX起動での設定 電源設定 スクリーンセーバー設定(解除でロックしない) ホームディレクトリ内を英語表記に戻す LANG=C xdg-user-dirs-gtk-update 初回のソフトウェア更新(アプリで) 初回のyum update(コンソールで) sshサーバーを起動させて自動起動をオン ユーザーアカウントの作成 インストール時にGUIで設定済みの場合は不要 ユーザー名userを作成(GUIでも可能) login root # useradd user ←ユーザー名 ユーザー名userのパスワードを設定 # passwd user ←ユーザー名 New UNUX password 新しいパスワードを入力 Retype new UNIX password もう一度新しいパスワードを入力 passwd all authentication tokens updated successfully. ログイン・サウンドの停止 メニューから「システム」→「管理」→「ログイン画面」を選択し 「アクセシビリティ」タブを開いて「ログイン画面を表示した時」のチェックをオフ 自動ログイン設定 # vi /etc/gdm/custom.conf [daemon] AutomaticLoginEnable=true AutomaticLogin=username ←自動ログインを許可するユーザー名 [security] DisallowTCP=false CentOS 6の場合 # vi /etc/gdm/custom.conf [daemon] TimedLoginEnable=true TimedLogin=username TimedLoginDelay=1 起動時にキーリング解除画面を表示させない 「アクセサリー」>「パスワードと暗号鍵」 パスワード:login→右クリック→パスワードの変更 新しいパスワードを空欄のままOKを押して 安全ではないストレージに保存でOK root昇格とsudoユーザーを限定する $ su - ←suではコマンドが通らないので注意 # usermod -G wheel user ←ユーザー名userをwheelグループに追加 wheelグループのみsudoを許可する # visudo ## Same thing without a password %wheel ALL=(ALL) NOPASSWD ALL ←コメント解除 # vi /etc/pam.d/su wheelユーザーのみroot切り替えができるようにする auth required pam_wheel.so use_uid ←コメント解除 wheelユーザーのみパスワード無しでroot切り替えできるようにする auth sufficient pam_wheel.so trust use_uid ←コメント解除 .bashrcをカスタマイズ(一般ユーザー/root用あり) alias egrep= egrep --color=auto alias fgrep= fgrep --color=auto alias grep= grep --color=auto alias l= ls -CF alias la= ls -A alias ll= ls -al --color=auto このあたりは好みで alias ee= exit alias @@= exit alias cls= clear alias = su - alias vi= vim alias psgrep= ps aux|grep alias hsgrep= history|grep alias h= history 無精者仕様 alias yyup= yum update alias apget= sudo apt-get update ←CentOSでは動きません vim野良ビルド用 PATH="$PATH" /usr/local/bin/vim export EDITOR=/usr/local/bin/vim alias vi= env LANG=ja_JP.UTF-8 /usr/local/bin/vim "$@" alias vim= env LANG=ja_JP.UTF-8 /usr/local/bin/vim "$@" export HISTSIZE=2000 export HISTFILESIZE=5000 export HISTCONTROL=ignoredups インストール後によくあるエラーをこちらにまとめてみたので参照。 システム設定とカスタマイズ 日本語キーボード設定 1. /etc/sysconfig/keyboard KEYTABLE="jp106" # USになってたら訂正 2. /etc/X11/xorg.conf Option "XkbModel" "jp106" # pc105とかになってたら訂正 Option "XkbLayout" "jp" # usになってたら訂正 ホームディレクトリ内を英語表記 LANG=C xdg-user-dirs-gtk-update 「Don t ask me this again」をチェックして「Update Names」をクリック ※ファイルが作成済みの日本語ディレクトリは別ディレクトリとして残ってしまうので デスクトップおよびホーム内ディレクトリにファイルを設置する前に名称を変更する キーボード レイアウトオプション CapsLockキー項目:デフォルトのまま変更なし Controlキー項目:CapsLockキーを追加のCtrlとして扱う(Make CapsLock an addtional Ctrl) X サーバをkillするためのキーシーケンス Control+Alt+Backspaceにチェックを入れる Ctrl+Alt+BackspaceでXを強制終了/再起動 端末を無変換キーで起動する キーボードショートカット [端末を起動する]をクリックして、[無変換]をクリック ショートカット欄にMuhenkanと表示されればOK ibusからscim-anthyに切り替える リポジトリーを追加キー登録 cd /etc/yum.repos.d wget http //centos.karan.org/kbsingh-CentOS-Extras.repo wget http //centos.karan.org/kbsingh-CentOS-Misc.repo rpm -import http //centos.karan.org/RPM-GPG-KEY-karan.org.txt yum update yum install anthy scim scim-anthy システム設定入力メソッドを Anthy + SCIM へ切替える。 設定 >他の個人設定 >入力メソッド 再起動してログインするとCtrl-Space(または半角/全角キー)でローマ字入力できる geditなどGNOMEアプリを端末からrootで起動する場合 suではなく、su -で昇格しないとエラーになるので注意 起動レベルを5(GUI起動)に設定 # vi /etc/inittab id 5 initdefault サーバーのみでXが不要なら id 3 initdefault 起動中に常に詳細を表示する # vi /etc/rc.d/init.d/functions 460行あたり # Inform the graphical boot of our current state update_boot_stage() { if [ "$GRAPHICAL" = "yes" -a -x /usr/bin/rhgb-client ]; then /usr/bin/rhgb-client --update="$1" /usr/bin/rhgb-client --details=yes ←追加する fi return 0 テキストコンソールの解像度を変更する # uname -r 起動中のkernelを確認 2.6.18-128.1.10.el5 grub.confのkernel行の最後にvga=値を追加する vi /etc/grub.conf 現在起動してるkernel行の"rhgb quiet"を削除して 末尾に解像度バラメータとコマンドを追加する kernel /vmlinuz-2.6.18-128.1.10.el5 ro ==/1 vga=773 ←末尾に追加 値と解像度 771 800×600 256色 773 1024×768 256色 775 1280×1024 256色 不要サービスの停止 サービスやデーモン名は環境やバージョンにより異なります 下記以外のサービスを停止 atd autofs crond haldaemon httpd iptables kudzu lvm2-moniter mysqld network nmb microcode_ctl ntpd smb sshd syslog portmap vsftpd sendmail messagebus サービスを一括で停止/自動起動オフにするシェルスクリプト # vi service_off.sh #!/bin/sh while read SERVICE do service $SERVICE stop chkconfig $SERVICE off done __EOL__ anacron ←停止したいサービスを1行づつ指定 avahi-daemon bluetooth cpuspeed cups gpm hidd irda irqbalance mcstrans mdmonitor pcscd rawdevices restorecond yum-updatesd __EOL__ # chmod +x service_off.sh 実行権限 # ./service_off.sh スクリプトを起動 yum-updatesdの代替にyum-cronを使う # yum -y install yum-cron # /etc/rc.d/init.d/yum-cron start サービスを起動 # service yum-cron start ←最近はこっちでもいい 夜間 yum 更新の有効化中 [ OK ] # chkconfig yum-cron on 自動起動をオン 定期的に空きメモリを開放する drop_cachesで同期済みのキャッシュをメモリに開放する ノートや低スペックPCで実装メモリが小さい場合は効果あり スクリプト # vi cron_drop_caches.sh date; echo "total/used/free/shared/buffers/cached"; echo "before"; free -m|grep Mem ; sync; echo 3 /proc/sys/vm/drop_caches; echo 0 /proc/sys/vm/drop_caches; echo "after"; free -m|grep Mem ; 空きメモリの表示とか不要な場合は 以下の3行のみでOK sync; echo 3 /proc/sys/vm/drop_caches; echo 0 /proc/sys/vm/drop_caches; chmod +x cron_drop_caches.sh 実行権限 # ./cron_drop_caches.sh 動作確認 before Mem 64396 52907 11489 0 695 49146 after Mem 64396 1791 62605 0 0 34 ←空きメモリの増加を確認 スクリプトをcronに登録 1日(1周)に1回でよければ、cron.daily(weekly)に設置 起動時間や間隔を指定する場合 # crontab -e 00 0-23/6 * * * /root/cron_drop_caches.sh 6時間毎に起動する場合 実行時のcronメールがウザいときは末尾に /dev/null を追加するとメールは送信されない 00 0-23/6 * * * /root/cron_drop_caches.sh /dev/null ←エラーのみメールする 00 0-23/6 * * * /root/cron_drop_caches.sh /dev/null 2 1 ←エラーもメールしない prelink、makewhatisを無効にする 低スペックではCPUを占有される場合があるので停止 prelinkを無効 vi /etc/sysconfig/prelink 4行目をnoに変更 PRELINKING=no prelinkに改竄されたバイナリを元に戻しておく /usr/sbin/prelink -ua CentOSの場合 sudo prelink -ua Ubuntuの場合 makewhatisを無効 chmod 644 /etc/cron.daily/mlocate.cron chmod 644 /etc/cron.daily/makewhatis.cron chmod 644 /etc/cron.weekly/makewhatis.cron SSHの設定 # service sshd start sshサーバー起動 # chkconfig sshd on 自動起動オン アクセス制限 外部からのアクセスがウザい場合はhostsファイルに追加しておく # echo "sshd 127.0.0.1" /etc/hosts.allow ← サーバー自身からのsshを許可 # echo "sshd 192.168.1." /etc/hosts.allow ← ローカル(例:192.168.1.*)からのsshを許可 # echo "sshd .ppp.asahi-net.or.jp" /etc/hosts.allow ← 特定のホスト(例:xxx.ppp.asahi-net.or.jp)からのsshを許可 # echo "sshd ALL" /etc/hosts.deny ← (上記以外の)全てのsshを禁止 RSA鍵の生成 http //centos.server-manual.com/centos5_ssh_teraterm_rsa.html Tera term、もしくはコマンドラインでRSA鍵ペアを生成して 公開鍵(id_rsa.pub)をユーザーのホームにSCP転送する 公開鍵のサーバー登録 $ cd ~ ←ユーザーのホームで実行(id_rsa.pub転送済み) $ mkdir .ssh $ chmod 700 .ssh $ cat id_rsa.pub .ssh/authorized_keys キー登録 $ chmod 600 .ssh/authorized_keys $ rm -f id_rsa.pub 使用済みキー削除 sshd_config設定 # vi /etc/ssh/sshd_config PubkeyAuthentication yes ←コメント解除 AuthorizedKeysFile .ssh/authorized_keys ←コメント解除 PasswordAuthentication no ←コメント解除 変更(キー認証でのログインを確認してから) ChallengeResponseAuthentication no ←noになっていることを確認 # /etc/rc.d/init.d/sshd reload ←設定ファイルの再読み込み 一旦ログアウトして、Tera termを閉じる TeraTermを再起動して、「ホスト名」を確認して「OK」。 「ユーザ名」と鍵生成に使用した「パスフレーズ」を入力。 「RSA/DSA鍵を使う」にチェックを入れ、「秘密鍵」をクリック 保存した秘密鍵「id_rsa」を選択して「OK」でログイン。 ログインを確認したら、sshd_configを開いて、PasswordAuthentication noにしておく。 ファイアウォールの設定 iptablesフィルターを使って中国(CN) 韓国(KR)を弾く # mkdir /root/iptables # vi /root/iptables/ckfilter_setup.sh #!/bin/bash COUNTRYLIST= CN KR # 中国(CN) 韓国(KR)を弾く設定。他に弾きたい国がある場合はカントリーコードを追加。 wget -q http //ftp.apnic.net/stats/apnic/delegated-apnic-latest for country in $COUNTRYLIST do for ip in `cat delegated-apnic-latest | grep "apnic|$country|ipv4|"` do COUNTRY=`echo $ip | awk -F"|" { print $2 } ` DROP_IP=`echo $ip | awk -F"|" { print $4 } ` TMPCIDR=`echo $ip | awk -F"|" { print $5 } ` FLTCIDR=32 while [ $TMPCIDR -ne 1 ]; do TMPCIDR=$((TMPCIDR/2)) FLTCIDR=$((FLTCIDR-1)) done echo "$DROP_IP/$FLTCIDR" /root/iptables//ckip done done # chmod 700 /root/iptables/ckfilter_setup.sh パーミッション設定 # /root/iptables/ckfilter_setup.sh スクリプトの起動 # rm -f /root/iptables/ckfilter_setup.sh スクリプトを削除 iptablesの設定 # vi /root/iptables/iptables_setup.sh #!/bin/bash ################ ### 初期設定 ### ################ LOCALNET=192.168.1.0/24 ##################### ### IPTABLES STOP ### ##################### /etc/rc.d/init.d/iptables stop #################### ### Default Rule ### #################### iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #################### ### LOCAL ACCEPT ### #################### iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -s $LOCALNET -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ##################### ### FRAGMENT DROP ### ##################### iptables -A INPUT -f -j LOG --log-level debug --log-prefix FRAGMENT DROP iptables -A INPUT -f -j DROP #################### ### NetBIOS DROP ### #################### iptables -A INPUT -s ! $LOCALNET -p tcp -m multiport --dports 135,137,138,139,445 -j DROP iptables -A INPUT -s ! $LOCALNET -p udp -m multiport --dports 135,137,138,139,445 -j DROP iptables -A OUTPUT -d ! $LOCALNET -p tcp -m multiport --sports 135,137,138,139,445 -j DROP iptables -A OUTPUT -d ! $LOCALNET -p udp -m multiport --sports 135,137,138,139,445 -j DROP ##################### ### PING OF DEATH ### ##################### iptables -N PINGOFDEATH iptables -A PINGOFDEATH -m limit --limit 1/s --limit-burst 4 -j ACCEPT iptables -A PINGOFDEATH -j LOG --log-level debug --log-prefix PINGDEATH DROP iptables -A PINGOFDEATH -j DROP iptables -A INPUT -p icmp --icmp-type echo-request -j PINGOFDEATH ######################## ### BROAD MULTI DROP ### ######################## iptables -A INPUT -d 255.255.255.255 -j DROP iptables -A INPUT -d 224.0.0.1 -j DROP ################ ### 113IDENT ### ################ iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset ########### ### SSH ### ########### iptables -A INPUT -p tcp --dport 22 -j ACCEPT ##################################################### ### DNS(※ポート53を開放する場合はコメントを外す) ### ##################################################### #iptables -A INPUT -p tcp --dport 53 -j ACCEPT #iptables -A INPUT -p udp --dport 53 -j ACCEPT ############ ### HTTP ### ############ iptables -A INPUT -p tcp --dport 80 -j ACCEPT ########### ### SSL ### ########### iptables -A INPUT -p tcp --dport 443 -j ACCEPT ########### ### FTP ### ########### iptables -A INPUT -p tcp --sport 20 -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp --dport 4000 4029 -j ACCEPT ############ ### SMTP ### ############ iptables -A INPUT -p tcp --dport 25 -j ACCEPT ############# ### SMTPS ### ############# iptables -A INPUT -p tcp --dport 465 -j ACCEPT ############ ### POP3 ### ############ iptables -A INPUT -p tcp --dport 110 -j ACCEPT ############# ### POP3S ### ############# iptables -A INPUT -p tcp --dport 995 -j ACCEPT ############ ### IMAP ### ############ iptables -A INPUT -p tcp --dport 143 -j ACCEPT ############# ### IMAPS ### ############# iptables -A INPUT -p tcp --dport 993 -j ACCEPT ############# ### Rails ### ############# iptables -A INPUT -p tcp -m tcp --dport 3000 -j ACCEPT ############# ###2ch対策 ### ############# iptables -t filter -I INPUT 2 -s 206.223.144.0/20 -p tcp --dport 443 -j REJECT iptables -t filter -I INPUT 3 -s 206.223.144.0/20 -p tcp --dport 995 -j REJECT iptables -t filter -I INPUT 4 -s 206.223.144.0/20 -p tcp --dport 1723 -j REJECT iptables -t filter -I INPUT 5 -s 206.223.144.0/20 -p gre -j REJECT iptables -t filter -I INPUT 6 -s 207.29.224.0/19 -p tcp --dport 443 -j REJECT iptables -t filter -I INPUT 7 -s 207.29.224.0/19 -p tcp --dport 995 -j REJECT iptables -t filter -I INPUT 8 -s 207.29.224.0/19 -p tcp --dport 1723 -j REJECT iptables -t filter -I INPUT 9 -s 207.29.224.0/19 -p gre -j REJECT ################ ### CKFILTER ### ################ if [ -e "/root/iptables/ckip" ]; then iptables -N CKFILTER iptables -A CKFILTER -j DROP for ip in `cat /root/iptables/ckip` do iptables -I INPUT -s $ip -j CKFILTER done fi ############### ### logging ### ############### iptables -A INPUT -m limit --limit 1/s -j LOG --log-level debug --log-prefix INPUT DROP iptables -A INPUT -j DROP iptables -A FORWARD -m limit --limit 1/s -j LOG --log-level debug --log-prefix FORWARD DROP iptables -A FORWARD -j DROP /etc/rc.d/init.d/iptables save /etc/rc.d/init.d/iptables start # chmod 700 /root/iptables/iptables_setup.sh パーミッション設定 # /root/iptables/iptables_setup.sh スクリプトの起動 CentOS 6で/etc/modprobe.confが存在するとエラーになる場合がある WARNING Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/. CentOS6から「/etc/modprobe.d/」以下ファイルで設定するので、modprobe.confは必要ないので削除する。 rm -f /etc/modprobe.conf ckfilterをcronで自動アップデートする # vi /etc/cron.daily/ckfilter_update.sh #!/bin/bash COUNTRYLIST= CN KR wget -q -N http //ftp.apnic.net/stats/apnic/delegated-apnic-latest switch=0 for country in $COUNTRYLIST do for ip in `cat delegated-apnic-latest | grep "apnic|$country|ipv4|"` do COUNTRY=`echo $ip | awk -F"|" { print $2 } ` DROP_IP=`echo $ip | awk -F"|" { print $4 } ` TMPCIDR=`echo $ip | awk -F"|" { print $5 } ` FLTCIDR=32 while [ $TMPCIDR -ne 1 ]; do TMPCIDR=$((TMPCIDR/2)) FLTCIDR=$((FLTCIDR-1)) done echo "$DROP_IP/$FLTCIDR" /root/iptables/ckip_new done done diff /root/iptables/ckip /root/iptables/ckip_new /dev/null 2 1 if [ $? -ne 0 ]; then mv /root/iptables/ckip_new /root/iptables/ckip /root/iptables/iptables_setup.sh /dev/null else rm -f /root/iptables/ckip_new fi # chmod +x /etc/cron.daily/ckfilter_update.sh # /etc/cron.daily/ckfilter_update.sh 動作確認 # chkconfig iptables on 自動起動設定 # chkconfig --list iptables 設定確認 iptables 0 off 1 off 2 on 3 on 4 on 5 on 6 off syslog設定でiptables.logの出力先を指定 # vi /etc/syslog.conf CentOS 5 # vi /etc/rsyslog.conf CentOS 6 #kern.* /dev/console ←コメントアウトを確認 どちらかを追加 kern.debug /var/log/iptables.log ←kernelのdebug(iptablesログ)以上すべてを出力する場合(messages.logと重複あり) kern.=debug /var/log/iptables.log ←kernelのdebug(iptablesログ)のみを出力する場合 ※古いsyslogではセレクターと出力先の区切りに半角スペースを 使うと認識できない場合があります。タブを使うようにしましょう。 # /etc/rc.d/init.d/syslog restart syslogを再起動 CentOS 5 # /etc/rc.d/init.d/rsyslog restart rsyslogを再起動 CentOS 6 iptables.logをsyslogローテーションに追加 # vi /etc/logrotate.d/syslog /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/iptables.log { sharedscripts ↑ postrotate 末尾に追加 /bin/kill -HUP `cat /var/run/syslogd.pid 2 /dev/null` 2 /dev/null || true /bin/kill -HUP `cat /var/run/rsyslogd.pid 2 /dev/null` 2 /dev/null || true endscript } DOS攻撃の対処 # vi /etc/sysctl.conf ↓下記を追加 net.ipv4.tcp_syncookies = 1 # Syn flood攻撃防御 最近はデフォルトでオンになってる net.ipv4.icmp_echo_ignore_broadcasts = 1 # Smurf攻撃防御 net.ipv4.icmp_ignore_bogus_error_responses = 1 # ICMPエラー無視 # sysctl -p カーネルパラーメータを更新 net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 1 ←[Alt] + [SysRq/(PrtSc)] + [コマンドkey]で制御可能 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 error "net.bridge.bridge-nf-call-ip6tables" is an unknown key ←CentOS6だとunknown keyエラーが出る場合あり error "net.bridge.bridge-nf-call-iptables" is an unknown key error "net.bridge.bridge-nf-call-arptables" is an unknown key kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 4294967295 kernel.shmall = 268435456 kernel.exec-shield = 2 net.ipv4.tcp_syncookies = 1 net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.icmp_ignore_bogus_error_responses = 1 対処法1 キーがunknownにならないように対応bridgeモジュールをロードする # modprobe bridge # lsmod | grep bridge bridge 79078 0 stp 2173 2 bridge,garp llc 5546 3 bridge,garp,stp # sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 1 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 4294967295 kernel.shmall = 268435456 kernel.exec-shield = 2 net.ipv4.tcp_syncookies = 1 net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.icmp_ignore_bogus_error_responses = 1 対処法2 エラーになる設定をコメントアウトする #vi /etc/sysctl.conf # Disable netfilter on bridges. # net.bridge.bridge-nf-call-ip6tables = 0 # net.bridge.bridge-nf-call-iptables = 0 # net.bridge.bridge-nf-call-arptables = 0 カーネルパニック時に自動的に再起動させる # vi /etc/sysctl.conf kernel.panic = 5 ←追加する # sysctl -p カーネルパラメータを更新 # sysctl -n kernel.panic 設定を確認 5 ←設定値が返ればOK fsckによるファイルシステムの修復/デフラグ シングルユーザーモードで起動 起動画面でEキーを押す GRUB画面で Eキーを押す kernel行を選択してEキーを押す 最末尾に半角スペースを空け single と入力してエンター 末尾にsingleが追加されてるのを確認してBキーを押す sh-3.2#_ プロンプトで起動完了(root起動なのでrootパスワード変更も可能) umount -a すべてのデバイスをアンマウント fsck -fpcDv システムを修復、デフラグ、バッドセクタの修復 REBOOT LINUXと表示されれば完了 rebootで再起動 fsckオプション f: ファイルシステムが正常でもチェック p: 自動的にファイルシステムを修復 c: バッドセクタを修復 D: デフラグ v: fsckの詳細に出力 Rescueモードでfsck修復する 同じバージョンのインストールCDもしくはレスキューCDで起動 GRUB画面の boot に続けて linux rescue と入力してEnter システムのインストール時と同じ設定をダイアログで選択して mount選択画面が出たらcontinueでシステムをマウントする /$ _ ←コマンドプロンプトでレスキューモード起動完了 # fsck -f /dev/hda1 ボリュームを修復 WARNING! Running e2fsck on a mounted filesystem may cause SEVERE filesystem damage. Do you really want to continue (y/n)? yes y エンターで修復 rebootで再起動 ブート時のfsckの間隔を変更する # tune2fs -c 512 -i 1m /dev/hda1 オプション -c はマウント回数、-iはインターバル(d 日、w 週、m 月) 512回マウントもしくは1ヶ月毎にチェック
https://w.atwiki.jp/wiki1_athena/pages/6.html
自動インストール プロダクトキーやWindowsの設定等を自動化する。 用意するもの WindowsXPのCD\SUPPORT\TOOLS\DEPLOY.CABというファイルの中にあるsetupmgr.exeというソフト。 手順 上記のファイルを解凍してsetupmgr.exeを取り出す。 こちらが詳しいので参照。 Winnt.sifのオプション一覧。(一部) [data]セクション。 AutoPartition=1 or 0 フォーマット設定。0でNTFSかFATを選択できる。 MsDosInitiated = "0" or "1" CDからのセットアップ設定。0でCDからセットアップ。(多分) UnattendedInstall = "Yes" 無人インストール設定。これはYesで AutomaticUpdates=yes 自動アップデート設定。(多分) [Unattended]セクション UnattendMode=FullUnattended 自動セットアップ設定。FullUnattendedで全自動 OemSkipEula=Yes or No Windowsライセンス規約表示設定。Noで非表示。(多分) OemPreinstall=Yes or No $OEM$フォルダ設定。Yesで$OEM$フォルダからアプリなどをインストールする。 詳細は$OEM$?で。 TargetPath=\WINDOWS システムディレクトリ設定。通常はWINDOWS。 Repartition=No パーティション設定。OSをインストールするHDDやパーティションを選択する。 FileSystem=* テキストモード選択設定?(多分) UnattendSwitch="yes" ユーザーアカウントの作成をスキップする。 WaitForReboot="No" リブート設定。GUIモードでのセットアップ中のリブートを即座に行う(多分) OemPnPDriversPath="Drivers\chipset" ドライバ組み込み設定。 詳しくはDrives?で。 ちょっと時間がないのでここまで。
https://w.atwiki.jp/clan_extracomfort/pages/16.html
インストール http //www.ventrilo.com/dlprod.php?id=301 こちらからどうぞ。