CentOSに新しいリポジトリを追加する方法
CentOSにmemcacheをインストールしようとしたらリポジトリに存在しない・・・。
ということでリポジトリを追加しようということになりました。
まず、必要なファイルを取得します。
1 |
wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm |
で取得したらrpmコマンドを使ってインストールします。
1 |
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm |
これでRPMforgeリポジトリが使用できるようになるのですが、標準のリポジトリに見つからないときだけこのリポジトリを使用したいので設定ファイルを修正します。
1 |
vi /etc/yum.repos.d/rpmforge.repo |
このファイルを修正
1 2 3 |
enabled = 1 ↓ enabled = 0 |
これで普通にyumを使用しても追加したリポジトリは使用されません。
次に、rpm の署名を検証するためのキーをインポートします。
1 |
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt |
yumを使用する場合は、「–enablerepo=rpmforge」を追加し以下のように使用します。
1 |
yum --enablerepo=rpmforge install memcached |
これで、memcacheがインストールされます。
CentOSのSetup Agentを再実行するには
CentOSをインストールしたときに起動する初期設定の「Setup Agent」を実行する方法です。
Authentication
1 |
/usr/sbin/authconfig-tui |
Firewall Configuration
1 |
/usr/bin/system-config-securitylevel-tui |
Network Configuration
1 |
/usr/sbin/system-config-network-tui |
これで、再度実行することができます。
CentOSでの自動起動デーモンの設定
CentOSを使ってLAMP環境を構築したら自動起動でApache、MySQLが起動してくれないので設定しました。
まず、
1 |
runlevel |
で、今のランレベルを確認します。
で、ランレベルが判明したら対象のフォルダに移動します。
今回は、ランレベル3の設定です
1 |
cd /etc/rc.d/rc3.d/
|
ここに自動実行されるデーモンの起動スクリプトが格納されています。
「/etc/rc.d/rcランレベル.d」の形でフォルダに格納されていますので異なるランレベルの場合は読み替えてください。
ここに必要な起動スクリプトを格納します。
格納するスクリプトはデーモンの起動スクリプトが格納されている
「/etc/rc.d/init.d」フォルダの中のスクリプトのシンボリックリンクを置くようにします。
で、ファイルの命名規則ですが
- S:スタートアップ時に起動するデーモン
K:シャットダウン時に終了させるデーモン - 優先順位
- デーモン名
で命名します。
例えば「S55sshd」とすると
優先順位55番目でsshdを起動するということになります。
今回は、httpdとmysqldを追加します。
1 2 |
sudo ln -s ../init.d/httpd S60httpd sudo ln -s ../init.d/mysqld S61mysqld |
と、シンボリックリンクを追加します。
これで、rebootしてみると・・・・。
見事、apacheとmysqlが立ち上がった時点で起動していました
CentOSでApacheで403エラーが発生した原因
CentOSにApacheでLAMPの環境を作ってテストしようと思って
ApacheのDocumentRootをhomeディレクトリ以下にしたら403エラーが発生!!
う~ん・・・
なんでだろ。エラーが解決できないSELinuxのせいかなと思って無効にしてみてもダメ
色々やってみた結果、原因判明
なっ、なんとhomeディレクトリの権限が700になっているではないか・・・。
権限を修正
1 |
chmod 755 hashizume |
するとまぁ、ページを参照できました。
こんなんで1日使ってしまった・・・。
CentOSにLAMP環境を構築する方法s
CentOSをインストールしたのでLAMP環境を構築したいとおもいます
1 |
yum search パッケージ名 |
で検索してインストールするパッケージを探します。
Apacheのインストール
まず、apacheがインストールされていないことを確認します
1 |
yum list installed | grep httpd
|
これでインストール済みかどうか確認、どうやらまだインストールされていないことが判明
インストール用にコマンドを実行
1 |
sudo yum install httpd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
[root@localhost ~]# sudo yum install httpd Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile * base: ftp.oss.eznetsols.org * updates: ftp.oss.eznetsols.org * addons: ftp.oss.eznetsols.org * extras: ftp.oss.eznetsols.org Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package httpd.i386 0:2.2.3-11.el5_2.centos.4 set to be updated filelists.xml.gz 100% |=========================| 2.8 MB 01:20 filelists.xml.gz 100% |=========================| 2.7 MB 00:24 filelists.xml.gz 100% |=========================| 133 kB 00:01 filelists.xml.gz 100% |=========================| 150 B 00:00 --> Processing Dependency: libaprutil-1.so.0 for package: httpd --> Processing Dependency: libapr-1.so.0 for package: httpd --> Running transaction check ---> Package apr.i386 0:1.2.7-11 set to be updated ---> Package apr-util.i386 0:1.2.7-7.el5 set to be updated --> Processing Dependency: libpq.so.4 for package: apr-util --> Running transaction check ---> Package postgresql-libs.i386 0:8.1.11-1.el5_1.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: httpd i386 2.2.3-11.el5_2.centos.4 updates 1.1 M Installing for dependencies: apr i386 1.2.7-11 base 122 k apr-util i386 1.2.7-7.el5 base 76 k postgresql-libs i386 8.1.11-1.el5_1.1 base 196 k Transaction Summary ============================================================================= Install 4 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 1.4 M Is this ok [y/N]: y Downloading Packages: (1/4): httpd-2.2.3-11.el5 100% |=========================| 1.1 MB 00:07 (2/4): apr-util-1.2.7-7.e 100% |=========================| 76 kB 00:01 (3/4): apr-1.2.7-11.i386. 100% |=========================| 122 kB 00:00 (4/4): postgresql-libs-8. 100% |=========================| 196 kB 00:02 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: apr ######################### [1/4] Installing: postgresql-libs ######################### [2/4] Installing: apr-util ######################### [3/4] Installing: httpd ######################### [4/4] Installed: httpd.i386 0:2.2.3-11.el5_2.centos.4 Dependency Installed: apr.i386 0:1.2.7-11 apr-util.i386 0:1.2.7-7.el5 postgresql-libs.i386 0:8.1.11-1.el5_1.1 Complete! |
インストール完了????なのか確認してみます。
あらっページが見えない。どうして、Apacheのプロセスが起動しているか確認してみる
1 |
ps auxww | grep httpd |
あらら、プロセスが起動していないわということで起動
1 |
sudo /etc/init.d/httpd start
|
こんどこそと確認してみる。
またつながんねーぞー
1 |
sudo system-config-securitylevel-tui |
コマンドでファイアーウォールの設定を確認してみる。
こんな画面が開くのでカスタマイズをタブキーで選んだら「Enter」を押下します。
あらっ
SSHのポートしか解放してないや、これじゃあ80番ポートで見に行っても無理なの納得ということで必要なポートを解放する
で「OK」を押下しファイアーウォールの設定は終了。
再度、確認するとちゃんとページがひらきました
これでApacheの設定は完了
MySQLのインストール
1 |
sudo yum install mysql-server |
mysqlに接続してみようとコマンド実行・・・。
エラー発生!!どうやら、プロセス立ち上がってない
ということで、プロセスの起動
1 |
sudo /etc/init.d/mysqld start
|
プロセス起動完了後に、再度mysqlへの接続をしてみる・・・おっ!!
つながった
これでmysqlの設定は完了!!
PHPのインストール
1 |
sudo yum install php |
インストールが完了したので動作確認。
こんな簡単なプログラムを作成して実行してみる。
うまくうごいた
PHPのインストールは完了!!
PHP、Apache、MySQLの連携
とりあえずphpでmysqlを操作できるようにモジュールのインストール
1 |
sudo yum install php-mysql |
インストールが終わったら、httdを再起動
1 |
sudo /etc/init.d/httpd restart
|
phpinfo()の結果を確認
mysqlのモジュールがちゃんと組み込まれています。OK!!
これで一通りのLAMP環境はできました。
今後、システムを作る上で足りないモジュールに関してはその都度入れていきたいと思います。