Linuxの記事一覧

Apache基本設定、PHP設定(Ubuntu14)

Apacheのインストールと基本設定、PHPの設定

Apache、php5のインストールと、デフォルトホストの設定を行います。

今回は、MicroSoft Azure のホスト名、hogehoge.cloudapp.net をデフォルトホストに、
独自ドメイン server.plus.net をバーチャルホストとして設定してみます。

apache2、php5パッケージのインストール

Apache2インストール

$ sudo aptitude install apache2
The following NEW packages will be installed:
apache2 apache2-bin{a} apache2-data{a} libapr1{a} libaprutil1{a}
libaprutil1-dbd-sqlite3{a} libaprutil1-ldap{a} ssl-cert{a}
0 packages upgraded, 8 newly installed, 0 to remove and 42 not upgraded.
Need to get 1,284 kB of archives. After unpacking 5,342 kB will be used.
Do you want to continue? [Y/n/?]

aptitudeコマンドは依存パッケージの他に、推奨パッケージもインストールします。apacheの動作に必要なパッケージのみをインストールしたい場合は、apt-getコマンドを使用します。

$ sudo apt-get install apache2

aptitudeでのインストール結果

$ dpkg -l|grep apache
ii apache2 2.4.7-1ubuntu4.1 amd64 Apache HTTP Server
ii apache2-bin 2.4.7-1ubuntu4.1 amd64 Apache HTTP Server (binary files and modules)
ii apache2-data 2.4.7-1ubuntu4.1 all Apache HTTP Server (common files)

php5のインストール
今回はLAMP環境(Apache+MySQL+PHP)なので、MySQL用のモジュールも一緒に追加しておきます。

$ sudo aptitude install php5 php5-mysql php-pear php5-gd
The following NEW packages will be installed:
fontconfig-config{a} fonts-dejavu-core{a} libapache2-mod-php5{a}
libfontconfig1{a} libgd3{a} libjbig0{a} libjpeg-turbo8{a} libjpeg8{a}
libmysqlclient18{a} libtiff5{a} libvpx1{a} libxpm4{a} mysql-common{a}
php-pear php5 php5-cli{a} php5-common{a} php5-gd php5-json{a} php5-mysql
php5-readline{a}
0 packages upgraded, 21 newly installed, 0 to remove and 42 not upgraded.
Need to get 8,041 kB of archives. After unpacking 34.1 MB will be used.
Do you want to continue? [Y/n/?]
$ dpkg -l|grep php
ii libapache2-mod-php5 5.5.9+dfsg-1ubuntu4.5 amd64 server-side, HTML-embedded scripting language (Apache 2 module)
ii php-pear 5.5.9+dfsg-1ubuntu4.5 all PEAR – PHP Extension and Application Repository
ii php5 5.5.9+dfsg-1ubuntu4.5 all server-side, HTML-embedded scripting language (metapackage)
ii php5-cli 5.5.9+dfsg-1ubuntu4.5 amd64 command-line interpreter for the php5 scripting language
ii php5-common 5.5.9+dfsg-1ubuntu4.5 amd64 Common files for packages built from the php5 source
ii php5-gd 5.5.9+dfsg-1ubuntu4.5 amd64 GD module for php5
ii php5-json 1.3.2-2build1 amd64 JSON module for php5
ii php5-mysql 5.5.9+dfsg-1ubuntu4.5 amd64 MySQL module for php5
ii php5-readline 5.5.9+dfsg-1ubuntu4.5 amd64 Readline module for php5

Apacheの設定

Debian系のApacheの設定ファイルは下記のように分散しています。

$ ls -l /etc/apache2/
total 80
-rw-r–r– 1 root root 7115 Jan 7 2014 apache2.conf
drwxr-xr-x 2 root root 4096 Dec 17 20:33 conf-available
drwxr-xr-x 2 root root 4096 Dec 17 20:33 conf-enabled
-rw-r–r– 1 root root 1782 Jan 3 2014 envvars
-rw-r–r– 1 root root 31063 Jan 3 2014 magic
drwxr-xr-x 2 root root 12288 Dec 17 20:48 mods-available
drwxr-xr-x 2 root root 4096 Dec 17 20:48 mods-enabled
-rw-r–r– 1 root root 320 Jan 7 2014 ports.conf
drwxr-xr-x 2 root root 4096 Dec 17 20:33 sites-available
drwxr-xr-x 2 root root 4096 Dec 17 20:33 sites-enabled
  • apache2.conf
  • Apacheの基本設定や各ホストの共通設定を記述。

  • ports.conf
  • 待ち受けポートの指定やIPベースで設定する場合に記述。今回はデフォルトのまま。

  • conf-available
  • 追加の設定ファイルを置くディレクトリ。a2enconf / a2disconf で有効 / 無効にします。

  • conf-enabled
  • 有効になっている設定ファイルです。中身は conf-available 内のファイルへのシンボリックリンク。

  • mods-available
  • インストールされたモジュールが格納されているディレクトリ。

  • mods-enabled
  • 有効になっているモジュール。a2enmod / a2dismod で有効 / 無効に。

  • sites-available
  • バーチャルホストの設定ファイルを格納します。ホスト毎にファイルを分けて記述します。

  • sites-enabled
  • 他と同じく、設定ファイルへのシンボリックリンクが入っています。a2ensite / a2dissite で有効 / 無効に。

オリジナルファイルのバックアップ

$ sudo cp -pi /etc/apache2/apache2.conf /etc/apache2/apache2.conf.org
$ sudo cp -pi /etc/apache2/conf-available/security.conf /etc/apache2/conf-available/security.conf.org
$ sudo cp -pi /etc/apache2/sites-available/000-default.conf /e
tc/apache2/sites-available/000-default.conf.org

apache2.confの編集

$ sudo vi /etc/apache2/apache2.conf
##70行目付近に追加
ServerName hogehoge.cloudapp.net

security.confの編集

$ sudo vi /etc/apache2/conf-available/security.conf
##以下に変更
ServerTokens Prod
ServerSignature Off

初期値では、ApacheのバージョンやOS、PHPのバージョンなど、サーバについての詳しい情報を表示するようになっているので、ServerTokens Prod 又は、ServerTokens ProductOnly に設定します。
ServerSignature については、デフォルトで off になっていると思います。

デフォルトホストの設定

$ sudo vi /etc/apache2/sites-available/000-default.conf
##</VirtualHost>の直前付近に以下を追加
<Directory /var/www/html/>
Options Indexes FollowSymLinks ExecCGI
AllowOverride all
Order allow,deny
allow from all
</Directory>

設定ファイル書式エラーのチェック

$ sudo /usr/sbin/apache2ctl configtest
Syntax OK

mod_rewriteを有効にする

$ sudo a2enmod rewrite

Apacheの再起動

$ sudo /etc/init.d/apache2 restart

apache2.confの ServerName に記載したURLへアクセスして、
「Apache2 Ubuntu Default Page」が表示されることを確認。

PHP(php.ini)の設定

WordPressなどのCMSを利用する際に文字化けが起きないように設定していきます。

オリジナルファイルのバックアップ

$ sudo cp -pi /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.org

php.ini の編集

$ sudo vi /etc/php5/apache2/php.ini
##下記のように変更
default_charset = “UTF-8”
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = On
mbstring.substitute_character = “?”
mbstring.func_overload = 0

Apache再起動

$ sudo /etc/init.d/apache2 restart

タグ

2014年12月20日 | コメントは受け付けていません。 | トラックバックURL |

カテゴリー:Ubuntu サーバ構築

NTPサーバーのインストールと設定(Ubuntu14)

NTPサーバーを構築して、サーバーのシステム時刻を外部のNTPサーバーと自動的に同期させます。

インストールされているNTP関連パッケージの確認

$ dpkg -l|grep ntp
ii ntpdate 1:4.2.6.p5+dfsg-3ubuntu2 amd64 client for setting system time from NTP servers

ntpdは入っていないようなので、インストールしていきます。

ntpサーバのインストール

NTPインストール

$ sudo apt-get -y install ntp

インストールされたパッケージの確認

$ dpkg -l|grep ntp
ii ntp 1:4.2.6.p5+dfsg-3ubuntu2 amd64 Network Time Protocol daemon and utility programs
ii ntpdate 1:4.2.6.p5+dfsg-3ubuntu2 amd64 client for setting system time from NTP servers

ntpの設定

オリジナルファイルのバックアップ

$ sudo cp -pi /etc/ntp.conf /etc/ntp.conf.org

ntp.confの編集

デフォルトのNTPサーバーをコメントアウトして、日本の公開NTPサーバーを追加します。

$ sudo vi /etc/ntp.conf

# 19行目付近からコメントアウト
#server 0.ubuntu.pool.ntp.org
#server 1.ubuntu.pool.ntp.org
#server 2.ubuntu.pool.ntp.org
#server 3.ubuntu.pool.ntp.org

# Use Ubuntu’s ntp server as a fallback.
#server ntp.ubuntu.com

代わりに以下を追加

server ntp.nict.jp #独立行政法人情報通信研究機構(stratum1)
server ntp1.jst.mfeed.ad.jp #インターネットマルチフィード(stratum2)
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp

設定するNTPサーバーは、ホスティング業者提供のものでも、プロバイダのものでもOKです。特に無い場合は、公開NTPサーバから選択すると良いです。公開NTPサーバを探すときはこのあたりを参考に

NTPサーバー起動

$ sudo /etc/init.d/ntp restart
* Stopping NTP server ntpd [ OK ]
* Starting NTP server ntpd [ OK ]

NTP同期状況の確認

$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp-b2.nict.go. .NICT. 1 u 30 64 377 10.038 -3.267 3.808
+ntp1.jst.mfeed. 172.29.1.100 2 u 24 64 377 11.476 -3.196 3.568
+ntp2.jst.mfeed. 172.29.2.50 2 u 29 64 377 11.505 -3.121 3.513
-ntp3.jst.mfeed. 172.16.177.60 2 u 33 64 377 11.602 -10.862 6.186

1カラム目が “+” になっていれば同期は完了です。※10分ぐらいかかります。
ntpqの詳しい説明はここを参照

ランレベル(自動起動)の確認(デフォルトON)

$ sudo sysv-rc-conf –list
ntp 1:off 2:on 3:on 4:on 5:on

タグ

2014年12月20日 | コメントは受け付けていません。 | トラックバックURL |

カテゴリー:Linux Ubuntu サーバ構築

システム時刻をUTC/JSTに変更する(Ubuntu14)

デフォルトのシステム時刻はインストール時に設定した値や地域が適用されますが、後で変えたい場合の変更手順についてのまとめてみました。

ファイル構成

  • /etc/localtime
  • hwclock や date などのコマンドは、/etc/localtime に設定された情報を見て、設定されているタイムゾーンに合わせて変換しています。

  • /etc/default/rcS
  • ハードウェアクロックが UTCなのかローカルタイムなのかの設定をします。

現在の設定状況を確認

$ cat /etc/localtime
TZif2UTCTZif2UTC
UTC0

現在は、UTCを使用する設定になっています。

タイムゾーン(地域)の変更

UTCやJSTなど地域時刻を変更したい場合は、/etc/localtimeを直接編集せずに、/usr/share/zoneinfo/内のファイルをコピーして変更します。

  • JST(日本標準時)にしたい場合は、/usr/share/zoneinfo/Japan をコピーする
  • UTC(世界協定時)にしたい場合は、/usr/share/zoneinfo/UTC をコピーする

今回は、JST(日本標準時)を設定したいので、/usr/share/zoneinfo/Japan をコピーします。

$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime

ハードウェアクロックの変更

ハードウェアクロックが UTCを使っているのか、ローカルタイムなのかを設定をします。

サーバーがLinuxのみの環境であれば、UTCを選択しておくのが無難かと思います。Windowsが含まれる環境であれば、時刻合わせのためにローカルタイムを設定しておくと良いと思います。

/etc/default/rcS の環境変数、UTC=yes にするとUTCを利用、UTC=no とするとローカルタイムを使用します。

# assume that the BIOS clock is set to UTC time (recommended)
UTC=no

ハードウェアが共有のVPSクラウドVPSなどで、システム再起動後に時間がずれてしまう場合には、HWCLOCKACCESS=no に設定することで、ホストOSとゲストOSの時刻同期を解除することができます。

# assume that the BIOS clock is set to UTC time (recommended)
UTC=no
HWCLOCKACCESS=no

手動でシステム時刻とハードウェアクロックを合わせる

システム時刻の手動同期

$ sudo ntpdate ntp.nict.jp
16 Dec 17:48:21 ntpdate[18464]: step time server 133.243.238.243 offset -1.371173 sec

現在のシステム時刻からハードウェアクロックを設定する

$ sudo hwclock -w

システムの再起動

$ sudo shutdown -r now

タグ

2014年12月18日 | コメントは受け付けていません。 | トラックバックURL |

カテゴリー:Linux LinuxTips Ubuntu サーバ構築

sendmailのメールキューを削除する

運用中のサーバの1台で、
配信不能の宛先へのメールキューが溜まっており、
いいかげん削除してみることにしましたので、
その手順やらを記録しておきます。

・メールキューの確認
[root@server]# mailq
/var/spool/mqueue (147 requests)
—–Q-ID—– –Size– —–Q-Time—– ————Sender/Recipient———–
o165F7RP015827 6938 Sat Feb 6 14:15 <apache@mail.example.com>
8BITMIME (Deferred: syslog.example.com.: No route to host)
<devi@example.com>


その数147通!(笑)

→この投稿の続きを読む

タグ

2010年2月6日 | コメントは受け付けていません。 | トラックバックURL |

カテゴリー:LinuxTips

dmesgコマンド

用途

カーネルのログやブート時のメッセージを表示する

書式

dmesg [オプション]

主なオプション

  • -c  内容を表示した後に消去する
  • -n NUM表示するログレベルをNUMに設定する
  • -s NUMバッファのサイズを指定して表示する(デフォルトは16392)
  • ※オプションを複数指定した場合は、最後のオプションのみ有効

→この投稿の続きを読む

タグ

2010年2月5日 | コメントは受け付けていません。 | トラックバックURL |

カテゴリー:システム管理系コマンド