タグ: VPS

  • DTIサーバー構築33 「優しく。優しく。」

    SSHでガシガシやるのもいいけど、webminでお気楽にやるのもいいよね。
    と、なんか最近、webminのインストール方法を書いた気もするが。

    DTIサーバーの方は、Cent6だし、Cent7と違うかな。
    と、思ったけど、一緒だった。

    というわけで、以下のページを参考に、インストールしてみた。

    自宅サーバ更新!(9)webmin

    はい。終了。
    ★DTIサーバー構築一覧はこちら★

  • DTIサーバー構築32 「もう、信じられないっ!」

    ある日、Gmailの、サイトで、見つけてしまったさ。
    この世に生きる喜び。ではなく、エラーメッセージを。
    レッドレッド。それはどぎつい、嫌な色だったさ。
    レッドレッド。面倒だから半年ほど放っておいたさ。
    SSL Security Error. [ Help ]
    Server returned error “SSL error: certificate has expired”
    そう。証明書の期限切れ。

    もうすぐ無料のSSL証明書が簡単に取得できる日が来るようだが、それまでは1年更新の無料証明書を何とか使うしかない。

    なので、昔のBLOGの記事を見ながら、まずは、CAcert.orgに行ってみる。
    http://www.cacert.org/
    あれ?BLOGをよく見ると、CAcertでは信用してもらえずに、StartSSLで取得し直してるやん。

    過去の自分に教えられつつ、次のページに行って、右上の「顔写真+鍵」マークでログイン。

    証明書の選択が出てくるので、過去に設定したであろう証明書を選択。
    ログイン後は、まず、「Validations Wizard」タブを選択して、Type「Email Address Validation」を選択して、「Continue >> >>」

    適当なEmailを入力して「Continue >> >>」、待つ。待つ。そして松。

    メールが来たら、「Verification Code」を入力して「Continue >> >>」

    「Finish >> >>」すなわち、終わり。
    でも、目的は達していない。

    「Validations Wizard」タブを選択して、今度はType「Domain Name Validation」を選択して、「Continue >> >>」

    あなたの管理しているドメインを入力して、「Continue >> >>」

    一覧に表示される受信可能なメールアドレスを選択して、「Continue >> >>」
    メールが来たら、「Verification Code」を入力して「Continue >> >>」

    「Finish >> >>」すなわち、終わり。

    でも、まだ目的は達していない。
     

    「Certificates Wizard」タブを選択して、Certificate Target「Web Server SSL/TLS Certificate」を選択して、「Continue >> >>」

    次に秘密鍵を作るんだけど、更新するだけなので、「skip >> >>」

    で、以前作ったCSRをコピペして、「Continue >> >>」

    ない!って時は、
    秘密キーからパスフレーズを削除して、

    # openssl rsa -in pass.key -out nopass.key
    CSRファイルを再度作成、

    # openssl req -new -key nopass.key -out remake.csr

    うまく行けば、再度「Continue >> >>」で、

    Domainにあなたのドメインが表示され、「Continue >> >>」で、
    サブドメインの入力を急かされ、「Continue >> >>」で、

    あれ、同じサブドメインの期限切れ証明書だと、そこまでしなくても良かった?

    「Tool Box」タブの「Retrieve Certificate」で、
    期限が延長されている証明書をコピーして使えばよかったの?
    あれ、どの時点で有効になった?

    で、更に最悪なことに、新しい証明書をサーバーに入れてApacheを再起動しても、エラーで起動できない。。。

    証明書ファイルの内容を確認したり、

    # openssl x509 -text -noout -in domain.pem
    秘密鍵ファイルの内容を確認したり、

    # openssl rsa -text -noout -in domain.key
    CSRファイルの内容を確認したり、

    # openssl req -text -noout -in domain.csr

    秘密鍵と、証明書が一致するか調べたり、、、

    # openssl rsa -noout -modulus -in domain.key | openssl md5
    # openssl x509 -noout -modulus -in domain.crt | openssl md5

    復旧することができず、
    同じサブドメインで証明書を作りなおすことも、既存の証明書を破棄することも無料ではできず。
    結局新しいサブドメインにて、やり直し。

    ま、最終的にGmailさんに怒られなくなったからいいか。
    ★DTIサーバー構築一覧はこちら★

  • DTIサーバー構築31 「どなたですかな!」

    いつものことながら、自宅サーバー(ちっこいノートPC)が不調ですが、何もできてない。
    さて、新たなレンタルサーバーもメール受信できないという状況になっている。
    で、心当たりのあるメールを掘り出してきて確認。

    1月20日 17:30~20:30 27.120.95.129~27.120.95.250 2001:2e8:65c:0:2:1:0:1~
    2001:2e8:65c:0:2:1:0:1f4

    どう考えてもこの時間帯からおかしい。

    本メンテナンスにより、/sbin/iptables saveコマンドが正常に動作しなくなります。対処として、yum install policycoreutilsコマンドを実施しpolicycoreutilsをインストールしてください。メンテナンス前に実施しても問題ありません。
    うん。文面見ても、どう考えても、これが原因。
    も〜、や!

    P.S.
    その後、ただ単に「dovecotが自動起動に設定されていなかっただけ」というアホな原因が発覚。
    も〜、や!

  • DTIサーバー構築30 「私のもの」

    MySQLをインストール。

    $ sudo yum -y install mysql-server
     :
    Installed:
      mysql-server.x86_64 0:5.1.69-1.el6_4                                                                    
    Dependency Installed:
      mysql.x86_64 0:5.1.69-1.el6_4     perl-DBD-MySQL.x86_64 0:4.013-3.el6     perl-DBI.x86_64 0:1.609-4.el6  
    Complete!
    続いて設定ファイルの編集。

    $ sudo vi /etc/my.cnf
    文字エンコーディングの変更。

    [mysqld]
    skip-character-set-client-handshake
    character-set-server=utf8
    [mysql]
    default-character-set=utf8
    起動!

    $ sudo service mysqld start
    自動起動の設定!

    $ sudo chkconfig mysqld on
    これでMySQLサーバーは起動して準備OK。

    とりあえず、ユーザーとパスワードを設定しておく。

    $ mysql -u root
    MySQLの全ユーザー@ホスト、パスワードを表示。

    mysql> SELECT user, host, password  FROM mysql.user;
    +——+—————–+———-+
    | user | host            | password |
    +——+—————–+———-+
    | root | localhost       |          |
    | root | example.com |          |
    | root | 127.0.0.1       |          |
    |      | localhost       |          |
    |      | example.com |          |
    +——+—————–+———-+
    5 rows in set (0.01 sec)
    ユーザー名がないときは拒否するために、削除。

    mysql> DELETE FROM mysql.user WHERE user=”;
    Query OK, 2 rows affected (0.00 sec)
    確認

    mysql> SELECT user, host, password  FROM mysql.user;
    +——+—————–+———-+
    | user | host            | password |
    +——+—————–+———-+
    | root | localhost       |          |
    | root | example.com |          |
    | root | 127.0.0.1       |          |
    +——+—————–+———-+
    3 rows in set (0.00 sec)
    パスワードが入っていないので、設定。

    mysql> SET PASSWORD FOR root@localhost=password(‘Pass-for-root’);
    Query OK, 0 rows affected (0.00 sec)
    確認。

    mysql> SELECT user, host, password  FROM mysql.user;
    +——+—————–+——————————————-+
    | user | host            | password                                  |
    +——+—————–+——————————————-+
    | root | localhost       | *fhjtugkfirueidkfjgutiyigjfhrutyfhdjfuryt |
    | root | example.com |                                           |
    | root | 127.0.0.1       |                                           |
    +——+—————–+——————————————-+
    3 rows in set (0.00 sec)
    あと、2回。ユーザー自体を消してもOKだけど。

    mysql> SET PASSWORD FOR root@’example.com’=password(‘Pass-for-root’);
    Query OK, 0 rows affected (0.00 sec)

    mysql> SET PASSWORD FOR root@127.0.0.1=password(‘Pass-for-root’);
    Query OK, 0 rows affected (0.00 sec)
    再度確認。

    mysql> SELECT user, host, password  FROM mysql.user;
    +——+—————–+——————————————-+
    | user | host            | password                                  |
    +——+—————–+——————————————-+
    | root | localhost       | *fhjtugkfirueidkfjgutiyigjfhrutyfhdjfuryt |
    | root | example.com | *fhjtugkfirueidkfjgutiyigjfhrutyfhdjfuryt |
    | root | 127.0.0.1       | *fhjtugkfirueidkfjgutiyigjfhrutyfhdjfuryt |
    +——+—————–+——————————————-+
    3 rows in set (0.00 sec)
    とりあえず、ユーザーの設定は完了。

    次に、データベースの一覧を表示

    mysql> SHOW DATABASES;
    +——————–+
    | Database           |
    +——————–+
    | information_schema |
    | mysql              |
    | test               |
    +——————–+
    3 rows in set (0.00 sec)
    テスト用のデータベースを削除。

    mysql> DROP DATABASE test;
    Query OK, 0 rows affected (0.00 sec)
    終了。

    mysql> quit
    Bye
    再度入るときは、今設定したパスワードが必要。

    $ mysql -u root -p
    Enter password: 入力すると入れる。

    あとは、適当に。

  • DTIサーバー構築29 「B・K・B?」

    DTIサーバー構築29 「B・K・B?」

    LAMPとは、Linux+Apache+MySQL+PHP(,Perl,Python)のこと。
    まずはPHPをインストール。

    $ sudo yum -y install php php-mysql php-mbstring
     :
    Installed:
      php.x86_64 0:5.3.3-23.el6_4           php-mbstring.x86_64 0:5.3.3-23.el6_4  
      php-mysql.x86_64 0:5.3.3-23.el6_4  
    Dependency Installed:
      php-cli.x86_64 0:5.3.3-23.el6_4       php-common.x86_64 0:5.3.3-23.el6_4    
      php-pdo.x86_64 0:5.3.3-23.el6_4    
    Complete!

    これだけ、後はApacheの再起動。

    $ sudo service httpd restart
    httpd を停止中:                                            [  OK  ]
    httpd を起動中:                                            [  OK  ]
    次の1行のみのファイルを、/var/www/html/test.phpとしてファイル転送。

    ブラウザで次のURLを開く。

    http://yourdomain.com/test.php
    なんだかんだ次のような表示がされればOK

    test.php
    test.php

    ちょこっとPHPの設定を変更。

    $ sudo vi /etc/php.ini
    <?と?>タグでPHPが実行できるように。

    #short_open_tag = Off
    short_open_tag = On

    PHPの情報が表示されないように。

    #expose_php = On
    expose_php = Off

    標準文字エンコーディングの指定。

    default_charset = “UTF-8”

    タイムゾーンの指定。

    date.timezone = Asia/Tokyo

    マルチバイト文字の扱いを設定

    mbstring.language = Japanese
    mbstring.internal_encoding = UTF-8
    mbstring.http_input = UTF-8
    mbstring.http_output = pass
    mbstring.encoding_translation = On
    mbstring.detect_order = auto
    mbstring.substitute_character = none;

    編集が終わったら、再び再起動。

    $ sudo service httpd restart
    httpd を停止中:                                            [  OK  ]
    httpd を起動中:                                            [  OK  ]

    次はMySQLだな。