初期インストール

ハードディスク2台に、RAID1 組んでインストール。
Debian GNU/Linuxでつくる骨太システム―安全・強靱なサーバの構築と管理 sarge対応版
Debian GNU/Linuxでつくる骨太システム―安全・強靱なサーバの構築と管理 sarge対応版
途中のサーバーはなにもインストールせずに終了。まずはともあれ、vimとsshをいれる。
$ sudo apt-get install vim ssh
でもって、ネットワークを固定アドレスに変更
$ sudo vi /etc/network/interfaces
通常、LAN内のパソコンのIPアドレスは、ルーターによってその都度、IPアドレスが振られます。サーバーは、その場所を特定する必要が多いため、IPアドレスを固定に設定します。LAN内のIPアドレスは 192.168.99.・・・ という様になって、最後の数字が順番に振られます。他のパソコンと競合しないために、LAN内のパソコンなどの無線機器数+3~4程度の数字を設定したほうが良さそう。(最近無線機器が多いしね)
iface eth0 inet dhcp
ここを以下の様に直します。99 の部分は ご家庭のルーター設定に左右されます。また、一行めの最後の数字は同じルーター内にあるパソコンのそれぞれ振られる番号なので、パソコンの台数等により異なります。ルーターの設定等でご確認ね。
iface eth0 inet static
   address 192.168.99.10
   netmask 255.255.255.0
   gateway 192.168.99.1
   dns-nameservers 192.168.99.35 202.238.95.24     //一例ね。プロバイダーのDNSサーバーを並べて書くとか、LAN内のDNSサーバーを書くとか
   dns-serch dns.so-net.ne.jp             //so-net の場合だけど、これでよいか不明。この行なくても動くかもね。
ここの記述は、12.04からStatic(固定IP)の場合には、変わった模様。インターネットつながってるのに、apt-get できなくなって、慌てて調べたよ。。。 つづいて、ネットワーク再起動
$ sudo ifdown eth0
$ sudo ifup eth0
これで、ssh でリモート接続できる様になります。リモート側からは、
$ ssh felix@192.168.99.10
の様にアクセスします。(サーバーからキーボードとモニターを外せます。)つないだら
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:ondrej/php5
$ sudo apt-get update
$ sudo apt-get upgrade
初めの2行は、PHP5.5のバージョンにするためのレポジトリ変更。今回はこの部分が一番やっかい。PHP5.5にすると、Apacheは、2.4になるようで、この設定が。。。

AMPP設定

Apacheを実行する最低限の権限を有するユーザーを設定
$ sudo adduser flabo
[password]
(名前、部屋番号、等を聴聞してきますので必要に応じて入力します。)
つづいて パッケージインストール pukiwiki Advanceに必要な curl mecab のインストールも入っています。
$ sudo apt-get install php5 libapache2-mod-php5  mysql-server php5-mysql php5-sqlite phpmyadmin postgresql php5-pgsql phppgadmin php5-dev php5-curl g++ make mecab mecab-jumandic-utf8 libmecab-dev php-pear
途中、Mysqlのrootパスワードを設定など。でもって php-mecab のインストール
$ sudo pear channel-discover pecl.opendogs.org
$ sudo pear remote-list -c opendogs
$ sudo pear install opendogs/mecab-beta
最後のコマンドで途中 specify pathname to mecab-config [no] : がでるけどここは Enter でいいらしい。mecab.iso 設置しろとでるね
$ sudo vi /etc/php5/apache2/conf.d/mecab.ini
新しいファイルができるので、
extension=mecab.so
でOK おきまりの再起動
$ sudo /etc/init.d/apache2 restart
/var/www/html に index.php でも設置して
<?php
 phpinfo();
?>
で 192.168.99.10/index.php で確認 curlもmecabも動いてるね。

Apacheの設定

ウェブページを設置する /virtual 以下のディレクトリを作成します。この /virtual は、最終的にはいくつかのウェブページの バーチャルホストになることを想定しています。
sudo mkdir /virtual
sudo mkdir /virtual/www
sudo mkdir /virtual/log
sudo mkdir /virtual/log/apache2
sudo chown -R flabo:flabo /virtual/*
wwwがapacheのルートになるので、flabo にオーナー変更。また、log は Apacheのログディレクトリになる
$ sudo vi /etc/apache2/sites-enabled/000-default
ここで、12行目あたりから変更 Requre all granted は、2.4 からの書き方みたいよ
       DocumentRoot /virtual/www
       <Directory /virtual/www/>
               Options FollowSymLinks MultiViews
               AllowOverride None
               Require all granted
       </Directory>
LOG_DIRは、そのままでもよいのだけど、たしか awstatus あたりで、Apacheユーザーの権限が必要だったような?
sudo vi /etc/apache2/envvars
15行目あたり
export APACHE_RUN_USER=flabo
export APACHE_RUN_GROUP=flabo
で22行目あたりを
export APACHE_LOG_DIR=/virtual/log/apache2$SUFFIX
てな感じに書き直し。 後ろの $SUFFIX  はなんのこっちゃ不明w   さらに独自の設定ファイルを作り
$ sudo vi /etc/apache2/conf.d/flabo.conf
User flabo
Group flabo
ServerName felix-labo.org:80
UseCanonicalName On
公開する間では最後の行は コメント化がいいかも、で。。。Apache2.4対応でこれを登録
$ sudo cp -r /etc/apache2/conf.d/flabo.conf /etc/apache2/conf-available/
$ sudo a2enconf flabo
テストしてみます。
$ su - flabo
$ cd /virtual/www
$ vi ./index.html
で適当に・・・
Hello felix-labo!
とでも打って
$ logout
$ sudo /etc/init.d/apache2 restart
これで
http://192.168.99.10
などでアクセスするとちゃんと表示されると思います。

Could not reliably determine the server's fully qualified domain name のエラーが...

ホストに明示的にホスト名を記入しないとだめらしい。×××.×× みたいなやつ

$ sudo vi /etc/hosts

で、

127.0.0.1       localhost
127.0.1.1       felix-labo.org

こんな風にしとくとOK

PHP設定

php.iniの内容を書き換え 5.5で始めての設定なので、あやしいw
sudo vi /etc/php5/apache2/php.ini
書き換える内容は以下な感じ
(396行目付近)
memory_limit = -1
(683行目付近)
default_charset = "UTF-8"
(869行目付近)
date.timezone ="Asia/Tokyo"   //timezone指定しないとエラーがでるときあり。
(1657行目付近)
mbstring.language = Japanese
(1167行目付近)
mbstring.internal_encoding = UTF-8
(1690行目付近)
mbstring.substitute_character = none;
反映するにはApacheリスタート
$ sudo /etc/init.d/apache2 restart

MySQL設定

実行ユーザーの設定を行います。まずはルートユーザーのパスワード設定から
$ mysql -u root -p
[password]
続いて、Webコンテンツ用のデータベース実行ユーザーを設定。
mysql> create database webkintai;
(他にも、作りたいDBがあれば、ここでつくります。)
mysql> create user flabo@localhost identified by 'pppppppq';
mysql> grant usage on *.* to flabo@localhost;
mysql> grant all on webkintai.* to flabo@localhost;
(他に作ったDBで権限をもたせたければ、ここで設定します。)
mysql> quit
簡単に解説をすると一行目でウェブページ用のデータベースを作成し、二行目で実行ユーザーを作ります。三行目で作ったユーザーに対するすべての権限を剥奪(usage)します。その後、Webkintai に対してだけすべての権限を付与します。
次に文字化け防止用に、my.cnf の設定を変更します。
$ sudo vi /etc/mysql/my.cnf
[mysqld]の最後に以下の2行を追加します。
character-set-server=utf8
skip-character-set-client-handshake
再起動して設定を有効にします
$ sudo /etc/init.d/mysql restart

phpmyadmin の設定

apt-get でいけるから なんにもするひつよう無しだったけど。。ここにもApache2.4の余波がw 
$ sudo vi /etc/apache2/conf.d/phpmyadmin.conf
で最後の方を書き換え
<Directory /usr/share/phpmyadmin/libraries>
   #Order Deny,Allow
   #Deny from All
   Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
   #Order Deny,Allow
   #Deny from All
   Require all denied
</Directory>
このファイルも中途半端に2.4の書き方だったりして、ちょっと嫌ね。。。
Apache2.4は、sites-enables/ に登録して、a2endonf しないと、読み込まないみたいねw conf.d は一時保管場所??
$ sudo cp /etc/apache2/conf.d/phpmyadmin.conf /etc/apache2/conf-available/
$ sudo a2enconf phpmyadmin
これで、あとは、
$ sudo /etc/init.d/apache2 restart

リンクテーブルを処理するための追加機能を有効化

$ cd /usr/share/doc/phpmyadmin/examples/
$ sudo zcat create_tables.sql.gz>/home/felix/create_tables.sql
$ cd /home/felix/
$ mysql -uroot -p < ./create_tables.sql
(mysqlのパスワード)
$ mysql -uroot -p
(mysqlのパスワード)

mysql で

grant all on phpmyadmin.* to flabo@localhost;
quit

続いて、config.inc.php を編集

$ sudo vi /etc/phpmyadmin/config.inc.php

以下のように編集 93行目あたりから、ユーザー情報更新して、コメント化して、最後の二行は追加

/* Optional: User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'flabo';
$cfg['Servers'][$i]['controlpass'] = 'pppppppq';
/* Optional: Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';

最後の行に以下を追加

$cfg['blowfish_secret'] = 'hoge-hoge';

phppgadmin の設定

ユーザーを追加します。phppgadmin は、postgreSQLの初期ユーザーpostgresを初期状態でログインできない様にしています。このポリシーに合わせて新たなスーパーユーザーを作成したいと思います。
$ sudo passwd postgres
(ここでパスワードを設定します。)
$ su - postgres
(以下で一般的に使用するユーザーを作ります。username を任意の名前にしてください)
postgres@mv1c3e:~$ createuser -P username
(ここでパスワード設定と権限設定をします。特にこだわらなければ、Y でよいと思います。)
$ logout
phpmyadminが、初期設定がフリーアクセスだったのに対し、phppgadminは初期設定で、自分自身しかアクセスできない様になっています。リモートアクセスは出きるようにしたいので、
$ sudo vi /etc/apache2/conf.d/phppgadmin
で、8行目付近を以下の様に変更...2.4対応でねww
# order deny,allow
# deny from all
# allow from 127.0.0.0/255.0.0.0 ::1/128
# allow from all
Require ip 192.168.11
postgresqlはほとんどつかっていないので、LAN内アクセスで充分なので、この書き方
で、ここでもApache2.4の設定...
$ cd /etc/apache2
$ sudo cp -r ./conf.d/phppgadmin ./conf-available/phppgadmin.conf
$ sudo a2enconf phppgadmin
$ sudo /etc/init.d/apache2 restart
/192.168.99.2/phppgadmin の様にアクセスできる様になります。

ドメイン・ネットワーク設定

サーバー/ネットワーク設定 を見てね

時刻あわせ ntp

$ sudo apt-get install ntp
$ sudo vi /etc/ntp.conf
で、 デフォルトのサーバーを日本のサーバーに変更
(18行目付近)
# more information.
#server 0.ubuntu.pool.ntp.org   //コメント化
#server 1.ubuntu.pool.ntp.org  //コメント化
#server 2.ubuntu.pool.ntp.org  //コメント化
#server 3.ubuntu.pool.ntp.org  //コメント化
server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp

# Use Ubuntu's ntp server as a fallback.
#server ntp.ubuntu.com  //コメント化
リスタート
$ sudo /etc/init.d/ntp restart
時刻合わせ
$ ntpq -p
    remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
ntp1.jst.mfeed. 133.243.236.17   2 u   11   64    1   10.386   -6.941   0.001
ntp2.jst.mfeed. 172.29.1.50      2 u   10   64    1   10.054   -6.770   0.001
ntp3.jst.mfeed. 172.29.3.60      2 u    9   64    1   10.096   -6.495   0.001

今回はあったぞw

CPU温度調査 sensors

$ sudo apt-get install lm-sensors
で、自動?設定
$ sudo sensors-detect
ひたすら ENTER ENTER って感じ進みます。
$ sensors
と打つと。。。 だめだなぁ。。。 なにか変わったみたい

なんかエラーが...

Your current Hardware Enablement Stack (HWE) is going out of support
on 07/08/2014.  After this date security updates for critical parts (kernel
and graphics stack) of your system will no longer be available.

For more information, please see:
http://wiki.ubuntu.com/1204_HWE_EOL

To upgrade to a supported (or longer supported) configuration:

Upgrade from Ubuntu 12.04 LTS to Ubuntu 14.04 LTS by running:
sudo do-release-upgrade

Install a newer HWE version by running:
sudo  apt-get install linux-generic-lts-trusty linux-image-generic-lts-trusty

and reboot your system.

あれまぁ。。。

sudo  apt-get install linux-generic-lts-trusty linux-image-generic-lts-trusty

やるか、14.04に変えろってことなんだろうけど、なんどやっても、上手くいかない。よく見ると、 /boot のディスクの容量がないってことで... RAID 組んでる関係で、/boot は 100Mしかとってなくて... しゃーないから、RAID組みなおして、1Gにして上手くいった

その他