マイクラ・鯖立ててみた

MinecraftサーバをCentOS 6にインストールしてみる | GaM Labo -がむらぼ- を参考にマイクラのサーバーを建ててみました。

minecraft 用に/usr/local/minecraft ディレクトリを作成minecraft_server.1.11.2.jar 最新版(2017年5月9日現在)サーバーのファイルをwget でダウンロード。ファイル名を minecraft_server.jar に変更しておきます。

# mkdir /usr/local/minecraft
# cd /usr/local/minecraft
# wget https://s3.amazonaws.com/Minecraft.Download/versions/1.11.2/minecraft_server.1.11.2.jar
# mv minecraft_server.1.11.2.jar minecraft_server.jar

minecraft 用に新規ユーザー、minecraft を作成。eula.txt のeula=false をtrue に編集。サーバーはJavaで動くらしいのでyum からjava-1.8.0-openjdk java-1.8.0-openjdk-devel, screen など必要なパッケージをインストール。

# cd ..
# useradd -d minecraft /usr/local/minecraft
# passwd minecraft (パスワード作成
# chown -R minecraft:minecraft minecraft/
# cd minecraft
# yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel screen

次のコマンドでサーバー起動します。

# java -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui

次のサイトを参考にしてサーバーの起動・停止スクリプトを/usr/local/minecraft ディレクトリに作成。動作を確認。

CentOSでMinecraftサーバを立てる AQUA-CITY

iptables でポート25565番を開放。

# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25565 -j ACCEPT(行挿入) 
# service iptables restart

クライアントは公式サイト https://minecraft.net/ からアカウントを作成しログインしてPC有料版をダウンロード、解凍。最新版は1.11.2(2017年5月9日現在

[MultiPlayer] ボタンからサーバー選択画面で[Add Server] をクリック。

[Edit] または[Direct Connect] ボタンからIPアドレスを設定。

[Join Server] をクリック。

ログイン中・・・。

ログイン成功。

Radeon HD6450のインストール

ASUSのフルHDディスプレイをHDMIでCentOS6.9 に接続するため、先週注文したグラフィックボードが届きました。早速、開封。

まずは、AMDのサイトhttp://support.amd.com/us/gpudownload/Pages/index.aspx からamd-catalyst-15.9-linux-installer-15.201.1151-x86.x86_64.zip ドライバファイルをダウンロード、解凍してからWinSCPでサーバーに転送。

次に、/boot/grub/grub.conf の起動オプションに nouveau.modeset=0 を追加してオンボードのLinux グラフィックドライバを無効にしてシャットダウン。

 

PCI Express(x8) スロットにHD6450グラフィックボードを取り付けました。

シングルユーザーモードから init 3 でランレベル3でroot でログイン。(最初、パスワードをハネられログインできず焦りましたが、http://d.hatena.ne.jp/yohei-a/20081116/1226786415 を参考に/etc/pam.d/login に以下の行を追加して解決。)

session required /lib64/security/pam_limits.so

その他、適宜必要なパッケージをダウンロード、インストール。kernel-devel など。詳細は以下のサイトを参考にしました。(libX11.so.6, libXext.so.6 はyum からrpmインストールしておくと良いかもしれません。)

CentOS 6.0 でのマルチモニタ設定 その1 (CentOS 6.0 64bit)

以下のコマンドでドライバインストールのダイアログが始まります。

# chmod a+x AMD-Catalyst-15.9-Linux-installer-15.201.1151-x86.x86_64.run
# ./AMD-Catalyst-15.9-Linux-installer-15.201.1151-x86.x86_64.run

ダイアログを進めて、ドライバインストールが完了しました。再起動後、BIOSに入るため、[F2]キーを押してビデオドライバの設定をします。

自機のBIOSでは、[Advanced]-[Onboard Device Configuration]-[Onboard Video] の項目を[Auto] から[Enabled]に。[Primary Video] を[Onboard] から [External Video]にして設定を保存、再起動。するとフルHDで無事、Xウィンドウが起動しました。

ffmpeg のビルド

VLC をビルドしようとして、./configure すると

configure: error: No package 'libavcodec' found
No package 'libavutil' found

エラーが出るのでFFmpeg を下記サイトを参考にビルド。

LinuxでFFmpegをほぼ全自動でビルドする(CentOS、Ubuntu等に対応) CentOS6

LinuxでFFmpegをほぼ全自動でビルドする(CentOS、Ubuntu等に対応) CentOS7

スクリプトファイルをコピーして自動でビルドする。

./ffmpeg_build.sh すると-fPIC オプションでコンパイルしろと怒られる。

/usr/local/lib/libavcodec.a: could not read symbols: Bad value
make error "recompile with -fPIC" 

./configure の前にCFLAGS=-fPIC を付けスクリプトを編集。

libvpx, libass の.configure でエラーが出るのでスクリプトを編集、オプションを追加。

261行目
./configure --prefix="$prefix_dir" --disable-unit-tests
277行目
./configure --prefix="$prefix_dir" --disable-shared --disable-require-system-font-provider

デフォルトでのインストール先 の/usr/local/ffmpeg_build にインストールされました。PATHの設定をして完了です。

VLC は、env PKG_CONFIG_PATH=/ でpkgconfig の場所を指定すると、冒頭のno package found エラーがなくなり./configure できました。

env PKG_CONFIG_PATH=/usr/local/ffmpeg_build/lib/pkgconfig ./configure

(追記

VLCはビルドしなくてもnux Dextop Repository からyum でインストールできました。

http://www.tecmint.com/install-vlc-media-player-in-rhel-centos-fedora/

MySQL のバージョンアップ

シナリオは、以下のサイトで示されています。

http://qiita.com/tachitechi/items/b59278a16f636651410f

MySQL のシャットダウン、削除、リポジトリの追加、yum でインストール、バージョンアップの有効化の繰り返しです。

機械的な操作で簡単にバージョンアップできました。おすすめです。

 

sambaポートの設定

今までネット上にsambaポート開放してたかも。(怖っ

「ホームゲートウェイでNetBIOS とMicrosoft-ds のポート開放しないとローカルネット内のsambaプロトコルで通信できない。」という思い込み。

RTX810のファイアウォール設定を確認してもブロックされているように見えたので問い合わせたところ、

「ローカルネットワークでのルーターはL2スイッチとして働くので開放しなくても通信できる。」

との回答を頂きました。何か設定が間違っていたのかな。無線LANルーターをoffにしてルーター直結したところ、Linux共有が見えました。

めでたし、めでたし。

WordPress の画像編集

件のキーワードで検索したブログで解決しました。ありがたや~m(_ _)m

/pass/to/wordpress/wp-include/class-wp-image-editer-gd.php の450行 switch 文の手前に、

while(@ob_end_clean());

を追加すると画像が編集できるようになりました。

参考URL:【備忘録】WordPressの画像編集で画像が表示出来なくなった場合の対応方法 – Dream Seed

PHPのバージョンアップ

コンソールから php -v と叩くとPHP 5.6.14 と表示されるのに、phpinfo で確認するとPHP 5.6.27 とバージョンが違う不思議。原因は、./configure の –bindir=/ オプションで/usr/bin と /usr/local/bin の違う場所にphpをビルド、インストールしていたからでした。めんどくさいので最新版のマイナーバージョン 5.6.30(2017年4月12日現在)をソースから–bindir=/usr/local/bin にビルド、インストール。

php -v すると、

PHP Startup: Unable to load dynamic library ...

と縦スクロールのエラーメッセージがだらだらと・・・。
ここは、/usr/lib64/php/modulesディレクトリから拡張ライブラリをまるっとコピー。

# cp /usr/lib64/php/modules/*.so /path/to/extension_dir/

再び php -v 。今度も縦スクロールのエラーが・・・。

Module 'PDO' already loaded in Unknown on line 0

./configure オプションで –with-config-file-scan-dir=/ を指定して.iniファイルがライブラリを2度読みしていたのが悪かったみたいです。

指定なしで再ビルド。

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --includedir=/usr/include --bindir=/usr/local/bin --with-openssl=/usr/local/ssl --with-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --with-gd --with-zlib --with-curl --with-xsl --enable-gd-native-ttf --with-gettext --with-libxml-dir=/usr/bin/xml2-config --enable-mbstring

# make && make install

3回目の正直。php -v 今度は正常に PHP 5.6.30 と表示されました。

WordPressの再インストール

WordPress でJavaScript を動かそうとしてファイルを色々いじったらカレンダーのレイアウトが壊れたのでWordpress の再インストール経緯をメモ。

# service httpd stop
# cp /pass/to/wordpress/.htaccess /home/gusachan/
# cp /pass/to/wordpress/wp-content/uploads /home/gusachan/
# cp /pass/to/wordpress/wp-content/plugins /home/gusachan/
# cd ..
# rm -rf wordpress/
# cp -R wordpress/ /pass/to/wordpress/
# cd /home/gusachan
# cp -R uploads/ /pass/to/wordpress/wp-content/
# cp -r plugins/ /pass/to/wordpress/wp-content/
# cp .htaccess /pass/to/wordpress/
# cp wp-config-sample.php wp-config.php
# vi wp-config.php (データベース、ユーザー、パスワード編集
# chmod 400 wp-config.php
# cd ..
# chown -R apache:apache wordpress/
# service httpd start

一応、[ダッシュボード]-[ツール]-[エクスポート]からデータをエクスポート、uploads ディレクトリをバックアップしてから行いました。

[ダッシュボード]-[更新]にも[再インストール]ボタンがありましたね。(^^;

$PATHの初期化

yum で install していると身に覚えのないPATHが登録されていました。そんなPATHを削除するスクリプトを見かけたのでシェアします。
/hoge/hoge2 を削除するとき

export PATH=$(echo -n $PATH |tr ':' '\n' |sed ”/hoge\/hoge2/d” |tr '\n' ':')

参考URL: https://teratail.com/questions/59445

削除したいPATHが多かったり完全に初期化したいとき私の使うコマンドは、unset PATH です。echo $PATH で確認してから残したいPATHを : で仕切ってテキストで保存してから実行します。

# echo $PATH
# unset PATH
# PATH=$PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# export PATH

危険なコマンドなので自己責任でお願いします。