MySQLとsambaが死んだお話

先日owncloudというクラウド構築ソフトを入れていまして、試行錯誤の結果某所の設定ファイルをコピーすることで動くようになりました。

コレについては後日紹介したいなと思います。

 

で、やっと構築が終わったので、ロゴでも変えてみるかと思い、とりあえず関係ファイルの入っているディレクトリをsambaで共有しておこうと思いました。

サクッと設定を変えてアクセスしようとしたところ、繋がらない。よくよく確認してみると他の共有フォルダも全くアクセス出来ず、ネットワークのコンピューター一覧でもサーバーが見えない。

でもPINGは通る。

その後すぐこのブログが見られなくなっていることが発覚。owncloudを開くとデーターベース関係のエラー表示で開けない。

ここでmysqlが死んでいることに気が付きました。

mysqlを起動しようとすると失敗していまい、色々検索したりして悩んでおりました。

で、今日もう一度ログをしっかり確認したところ、/tmpの中になにかファイルをつくろうとしてエラーを吐いて落ちていることがわかりました。

じゃあ、ということで、/tmpファイルの権限を777に変更。

すると、mysql起動する!ブログ見れる!owncloud生きてる!samba共有できる!

 

ということで、この3日間くらい悩んでいたことが本日帰宅一分で解決したお話でした。

なお、/tmpの権限は1777してスティッキービットをオンにしておきました。これで誰でも書き込みが可能ですが、書き込みしたユーザー以外には削除できなくなります。

 

しかし、なぜ突然こんなことになったのかは全く不明。心当たりが何もありません。

皆さんもトラブルの際は、やっぱりログをちゃんと読みましょう。

 

追記:

/tmpですが、所有権がwww-data:root、パーミッションは700になっていました。本来であればroot:rootで1777になっているべきだと思うのですが・・・。

しかし、こんなところいじった覚えが全く無い・・・。

サーバー構築 UBUNTUSERVER編 samba

サーバーといえばファイル共有、ファイル共有といえばsambaですね。

sudo apt-get install samba

でサクッと入れてしまいましょう。ubuntuserverでは本体インストール時にsambaやopensshなどは入れることもできますので、おとなしくそっちを使ったほうが早いかも。でもちょっと不安なので自分でセットアップしています。

sambaの設定ファイルは、/etc/samba/smb.confですので、vimで開きます。

workgroupをデフォルトから変更している方は書き換えます。

最後尾に設定を書き込んでいきます。

[chihaya]

path = /test

available = yes

browsable = yes

public = no

writable = yes

とすることで、/testディレクトリをchihayaという名前で書き込み可能な状態で共有することが出来ます。

sudo service smbd restart

してデーモンを再起動して設定を反映させます。

が、この状態ではログインすることが出来ません。なぜならsambaのユーザーが追加されていないからです。

システムにはすでに作業しているユーザーがいるはずですので、

sudo smbpasswd -a username

としてパスワードを設定するとユーザーが追加されます。

最後に

sudo ufw allow samba

をして、sambaへの通信を許可しておきます。

 

上記の設定では個別のユーザーでの許可・禁止が定められていないので、追加したsambaユーザー全員がそれぞれのアカウントでログインできるはずです。

これでsambaサーバーの構築を終了します。