そういう時は、再インストール!
って手段を使わなくても対処できる方法があります。
出来ない場合もあるけど、、、
それが下の手順
起動時にSingleユーザモードで入って強制的にrootのパスワードを変えてしまえって言う訳ですね♪
ちょうど入れたてのUbuntu君がわからなくなったので、、実施
↓まずPCを起動させて、Grubの起動選択画面で起動させるOSを選択し、「e」ボタン

↓さらに「kernel~」を選択し、「e」ボタン

起動コマンドの編集になるので、コマンドの最後に「single」とタイピングして「Enter」
↓するとさっきの起動コマンド場面に戻るので最後に追加した「single」のある行を選択して、「b」ボタン

これでSingleユーザモードに入る、、けどなぜか「Recovery Menu」画面がでるけど、、、気にせず「root」の行を選択し、「enter」
↓後は、「passwd root」でrootのパスワード変更して再起動

#/sbin/shutdown -r now
これで難無くrootのパスワードは変更されます♪
本当に何も対策してないと、、、危険ですねぇ~~♪
今回の301はこれだけを取得すると「Level3 Core」の認定がもらえます。
Level1~2を取得しているのが条件なんですけどね!
それにこの1科目を受けるのになんと、、、
31,500円もするという代物!
そう簡単には受けれない。。。
でも前回から1週間という短期で挑みました!もう意地ですね!
で、結果は、、、
見事合格!これでLPI Level3ホルダーです♪
点数は、
770点!
900点満点なので、、正解率85%
まぁまぁですねぇ
今回も下記のテキストにご厄介になりました。
LPI認定試験LPICレベル3〈301/302〉最短合格テキスト (単行本)
某CWeb問題集
まず上のテキストをガンガン3回ほど読み返し問題を何回か解きした。
これで3日間
そして残り2日間は、Web問題集を計10回ぐらい解きました。
もう頭の中はLinux祭りです
でも今回の301での問題のヒット率は、、、いまいちでしたね!
まぁ資格は取れてなんぼなんで何も問題ないですけど(汗
次は何をとるかなぁ~MCP??
これだけの資格で次の会社を選択できるほど甘くはないだろうしぃ
それより今の会社資格とっても何も金でないのかな????
まぁ201試験受ける前から結構勉強はしていたのでね、、、かなりのハイペースかなぁ
結果は、、、
見事合格!これでLPI Level2ホルダーです♪
点数は、
870点!
前回の580点に比べたらかなりのハイスコアです
原因は、前回の201でやった市販の本+αが良かったようです
↓のサイトの受験体験記でのっていた某CWeb問題集ですねぇ~
LPIフリーク
http://xfreak.com/lpic/
なめんなぁ~ってぐらい激当たりです!
まぁ何にせよ資格が取れたので少しホっとしています。
久々に本を読み漁り、問題を解きまくりました!
これで怠けずLevel3もチャレンジしようと思います。
でも今日は、、、疲れたのでぐっすり寝ますよ(笑
Webのサイトを見ていると5年経つと効果がなくなるということなので、重い腰をあげたわけです(笑
で3ヶ月ほど前からちょこちょこ勉強を始めて、2週間前から本格的に試験対策をやり昨日201を受験しました。
本当は202も一気に受験しようとしたけど、、久々の試験&試験費用も1科目15,000円(税抜)と高額なので様子見で1科目だけにしました。
結果は、、、
間違いですね。。。580/900(合格率64%)
最低合格点数が500点なので、、ギリギリですね
正直やばいぐらい疲れました。。。
試験を受けている途中は正直落ちたと思いましたし、、、
最後あがいて何回か見直しをして書き換えたのが功をそうしたのかもしれません(汗
でも試験を受けての感想はありえないぐらい勉強した教科書や問題集以上の問題が出ます。
コマンドの細かいオプションとか見たこともないコマンドも、、
そういえばLevel1の時もそうだった気がします、、、、
一応市販の本以外にも仕事やらプライベートで少しはLinuxを触っていたのがよかったんですかね???
市販の教科書は、、、あまり役に立たなかった気がします。
問題はほぼ解けるぐらい何回もやったんですが、、
問題で出たのは全体の20~30%程度です。
本当に熟読して、オプションを確実にかけるように覚えていないとやばいです。。。
それでやっと最低限レベルに達する感じ??
実際仕事で実機触る時っていちいちオプションまでは覚えていなくてリファレンスを見てやるからここまでやる必要はないと思うんだけどね!
【今回やったテキスト達】
LPI認定試験LPICレベル2〈201/202〉最短合格テキ (単行本)
http://www.amazon.co.jp/exec/obidos/ASIN/4798018996/xfreak-22/ref=nosim
改訂新版 徹底攻略 LPI問題集 Level2 対応
http://www.amazon.co.jp/exec/obidos/ASIN/4844324098/xfreak-22/ref=nosim
後、、、これだけではこころもとなかったのでオークションで見つけた怪しげな問題集をやりました
【参考サイト】
LPI-JAPAN
http://www.lpi.or.jp/index.shtml
試験の概要とかを確認します
LPIフリーク
http://xfreak.com/lpic/
受験記など現状の情報を把握できます
さぁ次は、、、202試験を受けないといけません。
これをとらないとLevel2もらえないんですよね。。。。
ふぅ~
そこで、PHPを導入してみます。
PHPは、HTMLファイル内に、処理内容を記述したスクリプトを埋め込み、処理結果に応じて、動的に生成されるページの作成できる利点があります。
プログラム自体、テキスト文書でそのまま書け、コンパイルる利点ってもあります。
PHPのインストール
①まずサイトから最新版のソースを入手し、サーバ指定の位置(/usr/local/src)に配置
↓からダウンロード、php-5.2.5を入手しました
http://jp.php.net/downloads.php
②現状の状態確認
最初からPHPが入っていることも多いみたいなんで確認
# rpm -qa php*
入っている場合は消します!
↓だったかな~
# rpm -e _______
③ファイルを展開してconfigureを実行します。
# cd /usr/local/src
# tar xvfz php-5.2.5.tar.gz
# cd php-5.2.5
↓今回は下記オプションを指定。DBはMYSQLを連携する予定です。なのでこのオプションを入れる場合は最低限MySQLのクライアントは入っている必要があります
# ./configure --prefix=/usr/local/php-5.2.5 --enable-mbstring --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-gd --with-zlib --with-jpeg-dir
~~~~~~~~~~~~~~~~~~
-- configure オプションの解説
インストール先のディレクトリを設定します。
--prefix=/usr/local/php-5.2.5
マルチバイト文字を有効にします(マルチバイト文字列関数である mbstring 関数を有効にします)。
--enable-mbstring
Apache の動的モジュールとして組み込む設定を行います。
※ Apache 1.3 の場合は --with-apxs2 を --with-apxs に変更します。
--with-apxs2=/usr/local/httpd/bin/apxs
MySQL データーベース、PostgreSQL データーベースとの連携を有効にします。
--with-pgsql=/usr/local/pgsql
--with-mysql=/usr/local/mysql
GDライブラリを有効します。
--with-gd
--with-zlib
JPEG 画像ライブラリを有効します。
--with-jpeg-dir
~~~~~~~~~~~~~~~~~~
configure: error: xml2-config not found. Please check your libxml2 installation.
・・・とやってみたけどやっぱりErr君がやってきました。
何々?libxm2がねーだとぉー
中断しlibxm2のサイトに行ってファイルを入手しインストール
http://xmlsoft.org/downloads.html
# cd /usr/local/src
# tar zxvf libxml2-2.6.30.tar.gz
# cd libxml2-2.6.30
# ./configure --prefix=/usr/local
# make
# touch ctime_base
# make install
# find /usr/local -cnewer ctime_base '!' -type d > file_list
そしてまたPHPのconfigureを実行
# cd ../php-5.2.5
# ./configure --prefix=/usr/local/php-5.2.5 --enable-mbstring --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-gd --with-zlib --with-jpeg-dir
configure: error: Cannot find libz
・・・とやってみたけどやっぱりErr君がやってきました。
何々?libzがねーだとぉー
中断しzlibのサイトに行ってファイルを入手しインストール
http://www.zlib.net/
# cd /usr/local/src
# tar zxvf zlib-1.2.3.tar.gz
# cd zlib-1.2.3
# ./configure --prefix=/usr/local
# make
# touch ctime_base
# make install
# find /usr/local -cnewer ctime_base '!' -type d > file_list
そしてまたまたPHPのconfigureを実行
以下省略・・・
configure: error: libjpeg.(a|so) not found.
・・・とやってみたけどやっぱりErr君がやってきました。
何々?libjpegがねーだとぉー
中断しlibpng、jpegのサイトに行ってファイルを入手しインストール
http://www.libpng.org/pub/png/libpng.html
http://www.ijg.org/
# cd /usr/local/src
# tar zxvf libpng-1.2.23.tar.gz
# cd libpng-1.2.23
# ./configure --prefix=/usr/local
# make
# touch ctime_base
# make install
# find /usr/local -cnewer ctime_base '!' -type d > file_list
# cd /usr/local/src
# tar zxvf jpegsrc.v6b.tar.gz
# cd jpegsrc.v6b
# ./configure --prefix=/usr/local
# make
# touch ctime_base
# make install
# find /usr/local -cnewer ctime_base '!' -type d > file_list
そしてまたまたPHPのconfigureを実行
以下省略・・・
configure: error: libjpeg.(a|so) not found.
・・・とやってみたけどやっぱりErr君がやってきました。
ん?また同じメッセージ・・PHPなかなか難関!これは挑戦状だな~!
っとググッて調査....
libjpegの指定場所が悪いみたいなんで・・・
# cp /usr/lib/libjpeg.so.62.0.0 /usr/lib/libjpeg.so
そして再度、PHPのconfigureを実行
で
Thank you for using PHP.
やったぁ~
④コンパイル!!
# make
・・・
make: *** [ext/gd/libgd/gd_jpeg.lo] Error 1
またまたコンパイルエラー!
jpegのやつかなりオテンバっす!
っとググッて調査....
jpegsrc既存のltconfigとltmain.shが悪いらしい!
まず消して
# rm /usr/local/src/jpegsrc.v6b/ltconfig
# rm /usr/local/src/jpegsrc.v6b/ltmain.sh
でまたサイトにいってこやつらを入手し入れ替え
http://fink.sourceforge.net/files/
実行権も変えてね
# chmod 755 /usr/local/src/jpegsrc.v6b/ltconfig
# chmod 755 /usr/local/src/jpegsrc.v6b/ltmain.sh
※jpegsrcのconfigureオプションを変更しました。
./configure --enable-shared --enable-static
そして再度、PHPのconfigureを実行
Thank you for using PHP.
コンパイル
# make
Build complete.
おお!本当か???
# make test
FAILED TEST SUMMARY
---------------------------------------------------------------------
iconv stream filter [ext/iconv/tests/iconv_stream_filter.phpt]
htmlentities() test 4 (setlocale / ja_JP.EUC-JP) [ext/standard/tests/strings/htmlentities04.phpt] (warn: possibly braindead libc)
Test setlocale() function : usage variations - setting system locale as null [ext/standard/tests/strings/setlocale_variation4.phpt]
Test setlocale() function : usage variations - Setting system locale as empty string [ext/standard/tests/strings/setlocale_variation5.phpt]
=====================================================================
何個かエラーでてるぽいけど成功してるんで!GO!
⑤インストールです!!
# touch ctime_base
# make install
# find /usr/local -cnewer ctime_base '!' -type d > file_list
Apacheのモジュールとして組み込まれているのか確認
# ls /usr/local/httpd/modules/libphp5.so
/usr/local/httpd/modules/libphp5.so*
あるみたい♪
⑥PHP のディレクトリを /usr/local/php としてアクセスできるようにシンボリックリンクを作成します。
# ln -sfn /usr/local/php-5.2.5 /usr/local/php
⑦PHPの設定
PHP の設定ファイルの雛形がソースファイルの中に含まれています。
このファイルを PHP のディレクトリの lib ディレクトリにコピーします。
# cp /usr/local/src/php-5.2.5/php.ini-dist /usr/local/php/lib/php.ini
PHP の設定ファイル php.ini ファイルを編集して PHP の設定を行います。
# vi /usr/local/php/lib/php.ini
allow_call_time_pass_reference = Off ←引数の参照渡しを禁止
open_basedir = /virtual:/tmp ←PHP スクリプトを動作させるディレクトリを制限
expose_php = Off ←HTTP ヘッダーの PHP に関する情報を隠蔽
error_reporting = E_ALL ←全てのエラー情報を取得
display_errors = Offエラーをブラウザに表示しない
log_errors = On ←エラーログを出力
error_log = /var/log/php.log ←エラーログを出力するファイルを指定
default_charset = "SJIS" ←デフォルトの文字コードを設定
⑧Apache の設定
Apache の設定ファイル httpd.conf ファイルを編集して PHP のファイルタイプ情報を追加します。
# vi /usr/local/httpd/conf/httpd.conf
↓追加
AddType application/x-httpd-php .php
・httpd.conf の書式チェック
# /usr/local/httpd/bin/apachectl configtest
Apacheを再起動
# /usr/local/httpd/bin/apachectl restart
⑨起動確認
PHP の動作確認
# /usr/local/httpd/bin/apachectl graceful
HP が正しく動作しているかを確認するために、公開ディレクトリに info.php というファイルを作成し以下のように記述します。
「/usr/local/httpd/conf/httpd.conf」の「DocumentRoot」項目にある場所にテストサイト作成し確認
# vi /usr/local/httpd/htdocs/info.php
↓を書く
ウェブブラウザを使って http://IPアドレスのようにアクセスし以下のように php に関する情報が表示されれば正しくインストールされています。

ついでにMySQLサーバへの接続確認も
# vi /usr/local/httpd/htdocs/connecttest.php
↓を書く
mysql_connect("localhost","root","XXXXX") or die("Error MySQL First Test");
echo "Success MySQL First Test";
?>
↓で接続は確認~

今回はかなり手間取った・・・
やっぱりデータが大きくなってくると管理するにはデータベースっすよね~
ってそんなガリガリ開発するほうでないんで。。。そんなに自分から求めてないっすけど(笑
商用ではOracleをよく触っていましたけど・・・自宅でやるのでオープンソースにしました。そのの中ではPostgreSQL、MySQLと2つメジャー選手がありますが、今回はMySQLを選択しました。
特に意味はないけどね~wwwフリーのやつは特徴として早いけどトランザクション管理ができないみたいです。
MySQLのインストール
まずサイトから最新版のソースを入手し、サーバ指定の位置(/usr/local/src)に配置
↓からダウンロード、mysql-5.0.45を入手しました
http://dev.mysql.com/downloads/mysql/5.0.html
②現状の状態確認
・最初からMySQLが入っていることも多いみたいなんで確認
# rpm -qa mysql*
・入っている場合は消します!
↓だったかな~
# rpm -e _______
③MySQL 管理ユーザーの作成
・MySQL をユーザー権限で実行するために MySQL 実行ユーザーを作成します。
# groupadd mysql
# useradd -g mysql mysql
# passwd mysql
Password:*******
④ファイルを展開してconfigureを実行します。
# cd /usr/local/src
# tar xzf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
↓今回は下記オプションを指定。
# ./configure --prefix=/usr/local/mysql-5.0.27 --with-charset=sjis --with-extra-charsets=all --with-mysqld-user=mysql
~~~~~~~~~~~~~~~~~~
-- configure オプションの解説
インストール先のディレクトリを設定します。
--prefix=/usr/local/mysql-5.0.27
デフォルトで使用するキャラクタセットを設定します。
--with-charset=sjis
コンパイルする追加のキャラクタセットを設定します。
--with-extra-charsets=all
MySQL を実行するユーザーを設定します。
--with-mysqld-user=mysql
~~~~~~~~~~~~~~~~~~
↓が表示されればOK?のはずです♪
Thank you for choosing MySQL!
⑤コンパイルを実行して正常に終了したら、インストール
# make
↓インストールしたものを確認するための準備
# touch ctime_base
↓コンパイル成功したらインストール!!!
# make install
↓インストールしたファイルを「file_list」に保存しておきます。
# find /usr/local -cnewer ctime_base '!' -type d > file_list
⑥MySQL のディレクトリを /usr/local/mysql としてアクセスできるようにシンボリックリンクを作成します。
# ln -sfn /usr/local/mysql-5.0.27 /usr/local/mysql
⑦MySQLの設定(権限テーブルの作成)
mysql_install_db スクリプトは MySQL の全ての権限を管理する mysql データーベースと MySQL のテストに使用できるデーターベースを作成します。
この作業は MySQL をインストールした後に一度だけ行います。
・データベースの場所を作成
# mkdir /mysql
# chown mysql:mysql /mysql
・データベースの場所を/mysqlに指定し作成
# /usr/local/mysql/bin/mysql_install_db --user=mysql --datadir=/mysql
⑦MySQLの設定(初期化ファイルの作成)
MySQL の設定ファイルの雛形がインストールディレクトリ(share/mysql)に存在します。
このファイルをデータディレクトリ(/usr/local/mysql/var)にコピーして MySQL の設定ファイルを作成します。
# cp /usr/local/mysql/share/mysql/my-medium.cnf /usr/local/mysql/var/my.cnf
⑧ディレクトリの所有者の変更
MySQL のバイナリの所有者を root に変更し、データディレクトリの所有者を MySQL 実行ユーザーに変更します。
# chown -R root /usr/local/mysql-5.0.45
# chown -R mysql /usr/local/mysql-5.0.45/var
# chgrp -R mysql /usr/local/mysql-5.0.45
⑨MySQL の起動と終了
・mysqld_safe を使って MySQL を起動することによって、エラー発生時にサーバーを再起動したり、ランタイム情報をログファイルに記録するなどのセーフティー機能が加わります。
# /usr/local/mysql/bin/mysqld_safe --user=mysql --datadir=/mysql &
↓こんなメッセージがでればOKなはずです
Starting mysqld daemon with databases from /mysql
・プロセス起動しているか確認
# ps ax|grep mysql
2771 pts/0 S 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql --datadir=/mysql
2798 pts/0 S 0:00 /usr/local/mysql-5.0.45/libexec/mysqld --basedir=/usr/local/mysql-5.0.45 --datadir=/mysql --user=mysql --pid-file=/mysql/linux.pid --skip-external-locking --port=3306 --socket=/tmp/mysql.sock
2799 pts/0 S 0:00 /usr/local/mysql-5.0.45/libexec/mysqld --basedir=/usr/local/mysql-5.0.45 --datadir=/mysql --user=mysql --pid-file=/mysql/linux.pid --skip-external-locking --port=3306 --socket=/tmp/mysql.sock
・mysqladmin を使ってサーバーの稼動を確認することができます。
# /usr/local/mysql/bin/mysqladmin version
/usr/local/mysql/bin/mysqladmin Ver 8.41 Distrib 5.0.45, for pc-linux-gnu on i686
Copyright (C) 2000-2006 MySQL AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
Server version5.0.45-log
Protocol version10
ConnectionLocalhost via UNIX socket
UNIX socket/tmp/mysql.sock
Uptime:1 min 6 sec
・MySQL を停止する場合は以下のように実行します。
# /usr/local/mysql/bin/mysqladmin -u root shutdown
STOPPING server from pid file /mysql/linux.pid
071209 18:57:08 mysqld ended
⑩MySQLの自動起動スクリプト作成
このままでは毎回再起動後、MySQLが起動しないので起動スクリプトを作成します。
・MySQL の自動起動スクリプトは MySQL のインストールディレクトリ(share/mysql)に含まれています。
これを /etc/rc.d/init.d/mysql ファイルとしてコピーします。
# install -o root -g root -m
755 /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql
・デフォルトではこのままでも良いんですけどデータベースの場所を変えたのでちょっと起動スクリプトを変更
# vi /etc/rc.d/init.d/mysql
[変更前]
basedir=
datadir=
[変更後]
basedir=/usr/local/mysql/
datadir=/mysql
・起動スクリプトの登録
# chkconfig --add mysql
⑪DBの初期設定
・MySQL をインストールした直後は MySQL の管理ユーザーである root のパスワードが設定されていないのでパスワードを設定します。
MySQL の root ユーザーと Linux のシステム管理ユーザーである root ユーザーは異なります。
# /usr/local/mysql/bin/mysqladmin -u root password '**********'
・ユーザーの登録と削除
MySQL をインストールした直後はスーパーユーザーしか存在しません。
普段 MySQL 内でデーターベースにアクセスするための一般ユーザーを作成します。
MySQL のユーザーは mysql プログラムを使用してサーバーに接続して作成します。
# /usr/local/mysql/bin/mysql -u root -p
Enter password: **********←MySQL の root ユーザーのパスワードを入力
・ユーザーの追加は GRANT ステートメントを使用します。
例えば test というユーザーをパスワード**********で作成する場合は以下のように実行します。
mysql> GRANT ALL PRIVILEGES ON *.* TO koko@localhost IDENTIFIED BY '**********' WITH GRANT OPTION;
・ユーザーが作成されたかどうかを確認するために、登録されているユーザーの一覧を表示します。
mysql> SELECT host, user FROM mysql.user;
+-----------+------+
| host | user |
+-----------+------+
| localhost| test |
| 127.0.0.1| root |
| linux | root |
| localhost | root |
+-----------+------+
3 rows in set (0.00 sec)
・ユーザーを削除する場合は以下のように実行します。
mysql> DELETE FROM mysql.user WHERE user='test';
・データーベースの作成と削除
新しいデーターベースを作成する場合は以下のように実行します。
mysql> CREATE DATABASE testdb;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
| testdb |
+--------------------+
4 rows in set (0.01 sec)
・データーベースを削除する場合は以下のように実行します。
mysql> drop database testdb;
一番メジャーなApacheを使います。もうデフォルトスタンダードですね!
↓こっから最新版をとってきます
http://www.apache.jp/
2.0.XとかバージョンがありますけどXの部分が偶数なのが安定版で奇数が開発版って感じです。
入手したApacheをサーバの指定の場所に配置します。
ここはどこでもいいんだけど管理のためにどこか決めておいたほうがいいと思います。
今回は「httpd-2.0.61.tar.gz」を「/usr/local/src」に置きました。
インストールの開始です。
①ファイルを展開してconfigureを実行します。
# cd /usr/local/src
# tar xvfz httpd-2.0.61.tar.gz
# cd httpd-2.0.61
↓今回のオプションは基本的に後からいろいろ足せるDSO形式にしました。
# ./configure --prefix=/usr/local/httpd-2.0.61 --enable-so --enable-rewrite=shared
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- configure オプションの解説
インストール先のディレクトリを設定します。
--prefix=/usr/local/httpd-2.0.61
URL をリアルタイムで書き換えるモジュール mod_rewrite を DSO として組み込む設定を行います。
--enable-rewrite=shared
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
②コンパイルを実行して正常に終了したら、インストール
# make
↓インストールしたものを確認するための準備
# touch ctime_base
# make install
↓インストールしたファイルを「file_list」に保存しておきます。
# find /usr/local -cnewer ctime_base '!' -type d > file_list
③Apache のディレクトリを /usr/local/httpd としてアクセスできるようにシンボリックリンクを作成
# ln -sfn /usr/local/httpd-2.0.61 /usr/local/httpd
④初期設定
Apache の設定ファイルは /usr/local/httpd/conf/httpd.conf
最低限の設定を実施
# /usr/local/httpd/conf/httpd.conf
ServerAdmin webmaster@honana.com.com ←サーバー管理者のメールアドレス
ServerName server.honana.com.com:80 ←ホスト名とポート番号
apachectl 制御スクリプト を使って Apache の設定ファイル httpd.conf の書式チェックを行うことができます。
# /usr/local/httpd/bin/apachectl configtest
↓下記がでてこればOK!
Syntax OK
⑤Apache の起動と終了
Apache は apachectl 制御スクリプトを使って起動します。
# /usr/local/httpd/bin/apachectl start
ウェブブラウザを使って http://192.168.10.2/ のようにサーバーの IP アドレスを入力し以下のように表示されることを確認します。

Apache を停止する場合も apachectl 制御スクリプトを使い停止。
# /usr/local/httpd/bin/apachectl stop
⑥Apache の自動起動スクリプト作成
このままでは再起動したときに自動的にApacheが起動しないので起動スクリプトを作成します。
サンプルはソースファイルに含まれているのでそれを利用します。起動スクリプト名は「Apache2」
# sed -e 's/^# chkconfig:.*/# chkconfig: 2345 85 15/' -e 's/\/etc\/httpd/\/usr\/local\/httpd/' -e 's/\/usr\/sbin/\/usr\/local\/httpd\/bin/' /usr/local/src/httpd-2.0.61/build/rpm/httpd.init > /etc/rc.d/init.d/apach2
「/etc/rc.d/init.d/apach2」に起動スクリプトができるので実行権を与えます
# chmod 755 /etc/rc.d/init.d/apach2
起動スクリプトでApacheが起動するか確認
# /etc/rc.d/init.d/apach2 start
# ps ax |grep httpd
↓こんな感じでhttpdが複数みれればOK!
24842 ? Ss 0:00 /usr/local/httpd/bin/httpd
24843 ? S 0:00 /usr/local/httpd/bin/httpd
24844 ? S 0:00 /usr/local/httpd/bin/httpd
24845 ? S 0:00 /usr/local/httpd/bin/httpd
24848 ? S 0:00 /usr/local/httpd/bin/httpd
24849 ? S 0:00 /usr/local/httpd/bin/httpd
自動スクリプトに入れるてランレベル3,4,5で起動するようにします。
# chkconfig --add apache2
# chkconfig apache2 on
SEやってれば誰でも使うターミナル。
サーバやらネットワーク機器をtelnet、コンソール接続して、CUIを用いてファイル操作などを行うアプリケーションです。
Windows上からの操作で一番メジャーなTeraTerm。
こやつは使い込むとかなり便利でマクロとかを使って自動化できます。
↓ファイルはここにおいてます。
http://ttssh2.sourceforge.jp/
ちょっとでも知ってればかなり作業も楽なので最低限のログインとログの取得のマクロについて書きます。
↓例文はこんな感じです(Linux編)
~~~~~~~~~~~~~~~~~~~
;telnetでXXX.XXX.XXX.XXXに接続します
connect 'XXX.XXX.XXX.XXX:23 /nossh'
;↓teratermのログの場所を設定(追記)
logopen 'C:\ログの場所\log.log' 0 1
UsernamePrompt = 'login:'
;XXXXXにログインアカウントを入れる
Username = 'XXXXX'
PasswordPrompt = 'Password:'
; ZZZZZにパスワードを入れる
Password = 'ZZZZZ'
;getpassword 'password.dat' 'mypassword' Password
; login
wait UsernamePrompt
sendln Username
wait PasswordPrompt
sendln Password
~~~~~~~~~~~~~~~~~~~
上を拡張子.ttlにして保存。関連付けを(C:\Program Files\teraterm\ttermpro.exe)にします。
これでこのファイル実行するとXXXXXユーザで自動的にログインしログも自動的に保存してくれます。
毎日サーバにログインして作業やらないといけない人にはとっても効率的です♪
にSCPを利用して暗号化し、安全にファイルを転送するって方法もあるけどまず手軽なはFTPを入れることにしました。
下記にLinuxでメジャーばVSFTPDについての手順書きます。
①RPM の古いバージョンの vsftpd が存在する場合は削除
# rpm -e vsftpd
②vsftpdの最新版をダウンロード
http://vsftpd.beasts.org/
「/usr/local/src」に「vsftpd-2.0.5.tar.gz」を置く
③ソースを展開
# cd /usr/local/src
# tar zxvf vsftpd-2.0.5.tar.gz
...
# cd vsftpd-2.0.5
④コンパイルの設定
# vi builddefs.h
↓下記を変更
#define VSF_BUILD_TCPWRAPPERS ← 既定では Tcpwrapper 無効なのでdefineに変更
#define VSF_BUILD_PAM ← 既定では PAM 有効
⑤コンパイル
# make
⑥コンパイル後の設定
ユーザ nobory、ディレクトリ empty を作成
# useradd -u 99 nobody
# mkdir /usr/share/empty
※すでにあるかも~
匿名ユーザ(anonymouse) のためのユーザ ftp と ディレクトリ ftp作成。
# mkdir /var/ftp ← ディレクトリを作成
# groupadd -g 50 ftp ← グループを作成
# useradd -u 14 -g ftp -d /var/ftp -s /sbin/nologin ftp ← ユーザを作成
# chown root:root /var/ftp ← 所有者を root に
# chmod og-w /var/ftp ← root 以外は書込み禁止
⑥インストール
↓まず準備(※インストールがどこに入れたのかわかるようにするため)
# touch ctime_base
# make install
↓インストールしたもののログ確認
# find /usr/local -cnewer ctime_base '!' -type d > file_list
↓設定ファイルのコピー
# cp vsftpd.conf /etc
/etc/vsftpd.conf の最後に
# vi /etc/vsftpd.conf
↓下記を追加
listen=YES
⑦テスト
# /usr/local/sbin/vsftpd & ← バックグラウンドで実行
[1] 3647 ← プロセスID
# ftp localhost
ここでftpユーザでログインできるか確認
vsftpd を終了します。
# kill `pidof vsftpd`
※できなければ# ps ax |grep vsftpdでプロセスIDを確認しkill -9 プロセスID
⑧後設定
☆PAM の設定
このままでは匿名(ftp)しかログインできないので linux ユーザがログインできるようにします。
# cp /usr/local/src/vsftpd-2.0.5/RedHat/vsftpd.pam /etc/pam.d/ftp
☆/etc/vsftpd.conf の設定
# 匿名 FTP を可能にする?
anonymous_enable=YES
↓
#anonymous_enable=YES ← コメント
# このコメント解除によりローカルユーザのログインを許可します。
local_enable=YES ← コメントを解除
# このコメント解除により、FTP からの書き込みを許可します。
write_enable=YES ← コメントを解除
# ローカルなユーザの umask の既定値は 077です。もしユーザが望むならば
# (ほとんどの ftpd は 022 なので)、これを022に変更することが可能です。
local_umask=022 ← コメントを解除
# 望むならば、標準的なログファイルの形式を使用できます。
xferlog_std_format=YES ← コメントを解除した
#アスキーモードでうまく動作させる
ascii_upload_enable=YES ← コメントを解除
ascii_download_enable=YES ← コメントを解除
ls_recurse_enable=YES ← コメントを解除
listen=YES ← 追加
#PAM の設定
pam_service_name=ftp← 追加
⑨起動設定
/etc/rc.local の最後に「/usr/local/sbin/vsftpd &」記載
# vi /etc/rc.local
↓下記追加
/usr/local/sbin/vsftpd &
これも結構問題なく動きました!なんか順調!
あったとしても切替機がついているやつでいっつも奪い合い?使いにくいしログとかもとれなかったりする。
ってなことがあるので今回は、クライアント(Windows)からLinuxへコンソール接続する設定です。接続はCOM(D-sub9ピン)同士をケーブルでつなぎます。
①まず起動時に認識しているシリアルポート確認
# dmesg |grep tty
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:0a: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
ttyS0、ttyS1があるのがわかります。
②シリアルポートを利用できるように設定
シリアルポート「ttyS0 (COM1)」「ttyS1 (COM2)」を転送スピードを9600bps、パリティ無し8ビットにする。
/etc/inittab を編集し、下記二行を追加
s0:2345:respawn:/sbin/agetty -h 9600 ttyS0 vt100
s1:2345:respawn:/sbin/agetty -h 9600 ttyS1 vt100
ランレベル1(シングルユーザーモード)ではgettyがなくてもログイン可能のため不要
ランレベル6は再起動ね
# vi /etc/inittab
③initコマンドで設定を反映
# init q
④コンソール接続時、rootでログインできるように設定
/etc/securetty に 'ttyS0' 'ttyS1'を追加
# vi /etc/securetty
ttyS0
ttyS1
⑤これでクライアントからターミナルを使って接続
※注意事項として、接続するCOMケーブルはクロスケーブルを使わないといかんとです。
TeraTermの場合は下記
ポート : COM1 or COM2 ※USBの場合は他にもあるかも?
ボーレート : 9600
データ : 8ビット
パリティ : なし
ストップ : 1ビット
フロー制御 : なし
↓今回はノートからつなげたのでCOMポートがない。なんでUSBからシリアルコネクタ(D-sub9ピン)変換ケーブルを利用

今回は問題なくすんなりいきました!めずらしぃい??