CentOS
さくらのVPSをメールサーバーにするよりさくらのメールボックスを利用したほうが簡単なのでその方法。
環境
ドメイン管理:お名前ドットコム
web サーバー:さくらインターネット(運用中)
メールサーバー:さくらインターネット(追加)
やること
1.権威サーバー(コンテンツサーバー)のゾーン設定、MXタイプの項目で、さくらのメールサーバーを指定。
2.さくらのメールサーバーコンパネで独自ドメインを追加
参考ページ
さくらのVPS-さくらのメールボックスでウェブサイトと同じドメインを使う
さくらメールボックス連結のVPSメールサーバーMX設定
さくらのナレッジ
メールの作成は、さくらのサーバーコントロールパネルから行う
メールアドレスの作成・変更・削除
カテゴリー:CentOS, さくらインターネット
pearで新しいパッケージをインストールするとエラーが出る。
-------------------------------------------------
could not extract the package ~
-------------------------------------------------
tgz ファイルが展開できないという内容らしい。
以下のサイトを参考に対処
pearコマンドでcould not extractのエラーが発生
インストール時の解凍に失敗する Tarのバグ(PEAR/Archive/Tar.php)
PEAR on PHP 5.5: could not extract package.xml
原因は Archive_Tar のバグ。なので Archive_Tar 自体をアップデートを試みるが、Archive_Tar のファイル自体が解凍できないので解決できない。
-------------------------------------------------
pear upgrade Archive_Tar
downloading Archive_Tar-1.4.2.tgz ...
Starting to download Archive_Tar-1.4.2.tgz (20,624 bytes)
.....done: 20,624 bytes
could not extract the package.xml file from "/tmp/pear/download/Archive_Tar-1.4.2.tgz"
Download of "pear/Archive_Tar" succeeded, but it is not a valid package archive
Error: cannot download "pear/Archive_Tar"
Download failed
upgrade failed
-------------------------------------------------
解凍はできないけどファイルのダウンロードはできているようなので手動で解凍。
-------------------------------------------------
tar zxvf Archive_Tar-1.4.2.tgz
-------------------------------------------------
解凍したファイルと問題のあるファイルを置き換える
ファイルの場所を確認
-------------------------------------------------
find / -name Tar.php
/usr/share/pear/Archive/Tar.php
/tmp/pear/download/Archive_Tar-1.4.2/Archive/Tar.php
-------------------------------------------------
ファイルの置換
-------------------------------------------------
cp /tmp/pear/download/Archive_Tar-1.4.2/Archive/Tar.php /usr/share/pear/Archive/
-------------------------------------------------
これでOK。
古い pear がインストールされたのが原因だったので pear 自体をアップグレードしておく
-------------------------------------------------
pear upgrade PEAR
-------------------------------------------------
カテゴリー:CentOS
さくらのvpsで phpmyadmin をインストールしたときの覚書
phpmyadmin は 下記ページの後半を参考にすればいい。
さくらのナレッジ Webサーバーを構築しよう(2)
しかし説明のとおりインストールすると、標準でインストールされる php5.3 向けの phpmyadmin がインストールしようとしてエラーが出て完了しない。
php5.6 だとこれではインストールできない
-------------------------------------------------
yum install phpmyadmin
-------------------------------------------------
yum install phpmyadmin で依然入れたバージョンを削除するなら簡単にアンインストールできる
-------------------------------------------------
yum remove phpmyadmin
-------------------------------------------------
なので、php のバージョンに合った phpmyadmin をインストールする
php5.6 で yum を使って phpmyadmin をインストール
-------------------------------------------------
yum install -y --enablerepo=remi,remi-php56 phpMyAdmin
-------------------------------------------------
カテゴリー:CentOS, さくらインターネット
mysql をインストールしていない状態から mysql5.6 をインストールする場合はこちらを参考にする
mysql を 5.1 から 5.6 に update した際、 mysql が起動できなくなった。
起動に失敗
-------------------------------------------------
/etc/init.d/mysqld start
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
-------------------------------------------------
cat /var/log/mysqld.log
エラーログの内容
-------------------------------------------------
[ERROR] InnoDB: auto-extending data file ./ibdata1 is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!
-------------------------------------------------
これは設定変更後 ibdata1 のファイルサイズが違うため起きるエラーのよう。なので ibdata1 関連のファイルを削除する
my.cnf でデータの保存先を確認
-------------------------------------------------
cat /etc/my.cnf
-------------------------------------------------
my.cnf で確認したデータのある場所
-------------------------------------------------
datadir=/var/lib/mysql
-------------------------------------------------
データのある mysql ディレクトリに移動し、問題のファイルがあることを確認
-------------------------------------------------
cd /var/lib/mysql
ls
ib_logfile0 ib_logfile1 ibdata1 mysql
-------------------------------------------------
すべて削除
-------------------------------------------------
rm -rf ib_logfile0
rm -rf ib_logfile1
rm -rf ibdata1
-------------------------------------------------
再起動できた
-------------------------------------------------
/etc/init.d/mysql start
Starting mysqld: [ OK ]
-------------------------------------------------
ファイル削除の参考my.cnfでinnodb関連の設定後、MySQLが起動しなくなった
しかし新たなるエラーが発生
エラーログの内容
-------------------------------------------------
[ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
-------------------------------------------------
このあとにもたくさんのエラーが続く
please run mysql_upgrade to create it という内容なので update を実行
-------------------------------------------------
mysql_upgrade -u root -p
-------------------------------------------------
エラーが出なくなった
カテゴリー:CentOS
標準リポジトリから php をインストールしたら php5.3 だったので、php5.6 にした時の覚書
現在有効なリポジトリの一覧を表示
コマンド
-------------------------------------------------
yum repolist all
-------------------------------------------------
status が enabled となっているのが有効なリポジトリ
epel は有効になっていた
最新バージョンの php を手に入れるには Remi リポジトリを利用するのがいいらしいので、使えるようにする。
CentOS6系で Remi リポジトリをインストール
-------------------------------------------------
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
-------------------------------------------------
以下ほぼこちら通り:CentOS6/CentOS7にPHP5.6/PHP7をyumでインストール
現在のPHPバージョンを確認
-------------------------------------------------
rpm -qa | grep php
php --version
-------------------------------------------------
現在のphp を削除(しなくても update されるけど念のため)
-------------------------------------------------
yum remove php-*
-------------------------------------------------
PHP5.6をインストール
-------------------------------------------------
yum install --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd
-------------------------------------------------
php をインストールしたら php.ini の編集も忘れずに
ここを参考にphp.ini で4か所のみ設定する
---------------------------------------
mbstring.language
mbstring.internal_encoding
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
expose_php ← on だとレスポンスヘッダーに php のバージョンが表示されてしまうので Off にする
---------------------------------------
自分の環境では以下の2つは設定変更しなかった
---------------------------------------
error_log ← 指定しなくてもサーバーに保存されるようなので指定しない
mbstring.http_input ← 非推奨なので設定しない
---------------------------------------
カテゴリー:CentOS, さくらインターネット
さくらレンタルサーバーから vps への引っ越し手順の覚書
引っ越しをするときは、vps の設定をすべて済ませておくこと。php や mysql も使える状態になってから引っ越し作業に取り掛かる。設定に戸惑ってダウンタイムが長くなるのを防ぐため。
vps を借りてからの設定についてはこちら
お名前かさくらどちらかでネームサーバーを変更
共用サーバーを利用していた時はさくら側で設定が必要だったが、vpsの場合、お名前でもさくらでもどちらで設定してもいい
お名前側で設定する場合
さくら側で設定する場合
さくら側で設定する場合 参考2
さくら側で設定する場合、お名前側でさくらのネームサーバーのドメインを参照するネームサーバーとして登録しておく必要がある。
お名前側で一日前にネームサーバーをさくらに指定していた場合、その後さくらでゾーン設定すると実際にページが表示されるまで10分ほどかかった。(即時反映されるかと思ったが意外と時間がかかった)
さくら側で設定する場合、さくらレンタルサーバーでのネームサーバーの指定を解除しておく必要がある。その後二時間は再設定できないので、早く済ませたいならお名前側で設定するほうがいい。
カテゴリー:CentOS, さくらインターネット
vi で存在しないパスを指定して保存を実行するとエラーが出る。
:w や :wq でエラー
-------------------------------------
E212: Can't open file for writing
-------------------------------------
この場合、:w や :wq に続けて保存先のパスを指定するといい。
-------------------------------------
:w /PATH/
OR
:wq /PATH/
-------------------------------------
カテゴリー:CentOS
セキュリティの設定
-------------------------------------------------
1.一般ユーザーを追加して、sudo で root権限を与えられるようにする
参考ページ
※初期設定でPort22が使えない場合は、SSHでログインできない。VPSコントロールパネルのコンソールからログインする
※最初ターミナルでログインしようとしたら、port22 が使えないってログインできなかった。yum update したからかお試しから本登録に変更したからログインできるようになった
2.rootでのログインを禁止
参考ページ
3.ssh のポート番号を 22 から変更
iptables の変更も忘れずに!
参考ページ
4.鍵認証の設定
参考ページ
※authorized_keys のパーミッションを 600 にしないとログインできないので注意!
鍵認証を有効にしたらパスワード認証を無効にするのを忘れずに
詳細
パスワードを有効にしたらリスタート
-------------------------------
sudo /etc/init.d/sshd restart
-------------------------------
5.その他の設定も次のサイトのとおり
参考ページ
マルチドメインに対応するところで、/etc/httpd/conf.d/vhost.conf ファイルを作るのは、conf.d ディレクトリに .conf のファイルを作るとデフォルトで読み込まれるから。httpd.conf ファイルにそういう記述がされている。
httpd.conf の抜粋
-------------------------------------------------
# Load config files from the config directory "/etc/httpd/conf.d".
#
Include conf.d/*.conf
-------------------------------------------------
-------------------------------------------------
上の参考サイトでマルチドメインの設定をするとサーバーのIPアドレスでのアクセスができなくなるので、httpd.confを編集してIPアドレスでアクセスできるようにする。
さくらVPSで複数の独自ドメインを運用する
ServerAlias の記述を加えて、ドメインの www のありなしを統一する。www のリダイレクトは サーバーの設定ファイルか .htaccess で制御。
詳しくはこちらを参考
さくらVPSでwwwサブドメインのURLを統一(正規化)する
ftpクライアントからファイルをアップロード
-------------------------------------------------
ffftp が基本的に sftp 接続できないので fileZilla を使った。
fileZilla でサーバーに繋がったのにアップロードするとエラーになった。公開フォルダの所有者が root なのに、ほかのユーザーでログインしたのが原因。公開フォルダの所有者を変更する。
参考ページ
-------------------------------------------------
カテゴリー:CentOS, さくらインターネット
久しぶりに立ち上げた CentOS がインターネットつながらない。CentOS内のFireFox からインターネットが見れず。WindowsPCのFFFTPからもアクセスできず。
やったこと。
1.
------------
ifconfig
------------
ネットワーク環境を確認する。NICが正常に認識されていればOK。eth0のところに自身のIPアドレスが表示されていればいい。
2.
------------
ping 192.158..0.9 ← 自分自身のIPアドレスに送った
------------
返ってきたメッセージ
------------
Destination Host Unreachable
------------
デフォルトゲートウェイがダウンしている状態に返ってくるメッセージということで、ルーターを再起動させて解決できた。
2018年2月にもサーバーに繋がらないトラブルに遭遇した。
やったこと
サーバーを再起動してもルーターを再起動してもダメ。
フレッツ光の2セッション目に自宅サーバーを繋げていたが、1セッション目(Windows)のルーターを切ったら繋がった。つまりセッション数が足りない?
1セッション目のプロバイダを nifty から ocn に変えたあと、はじめて自宅サーバーを立ち上げたことを思い出した。
Windows から1セッション目のルーターにアクセスすると、 nifty の設定も残っていて、nifty と ocn の両プロバイダともにルーターはアクセスを試みていた。
使っていない nifty の情報を削除。すると2セッション目が空いて自作サーバーもつながった。
カテゴリー:CentOS
外部ネットワークからCentOSの自宅サーバーにアクセスするときの確認事項の覚書
poderosaやffftp共通
・ポートが開いているか
サーバー側のルーターにアクセスしてポートが開いているか調べる。
poderosa(SSH)は22番
ffftpは20~21番
・必要なサーバーソフトは立ち上がっているか
poderosa(SSH)httpd(Apache)が起動しているか確認
ffftpはsftpdが起動しているか確認
・iptablesが接続の邪魔をしていないか
iptablesの設定を確認。もしくは起動を終了させる。iptablesの設定例
なお、初期設定ではrootを使ってffftpでログインできない
詳細
ffftpで接続はできるのにサーバー側のファイル一覧が表示されない場合は、サーバー側でPASVモードの接続が許可されてない可能性が高い。「設定変更」-「拡張」タブ-「PASVモード」のチェックをはずす。もしくはサーバー側の設定を変更してPASVモードでの接続を許可する。
参考ページ
カテゴリー:CentOS, SSH, 自作PC