CentOS6.2(32bit)にrpmでMySQL5.5.3以降(5.6.5)のバージョンをインストールするのに悪戦苦闘したメモ。
5.5.3以降が使いたいのは、文字コードutf8mb4(4バイトUTF8文字=iOS5以降の絵文字)が使いたい為。
yumでは、epel,remiリポジトリでも5.5.24までしかなくて、utf8mbが使えなかった。
嘘。5.5.24で、my.cnfのcharacter-set-serverをutf8mb4にして起動出来た。
どうやら5.5.24のテストをしていた時はutf8mbとタイプミスしていた模様。
パッケージを指定してインストール。
rpm -ivh http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.5_m8-1.linux2.6.i386.rpm/from/http://ftp.iij.ad.jp/pub/db/mysql/
パッケージの在り処は、MySQL :: Download MySQL Community Serverを
Development Releases > Select Platform > Linux - Generic と選んで、
Linux - Generic 2.6 (x86, 32-bit), RPM Package
MySQL Server
これのDownloadを選ぶとミラーサイトに飛ぶ。
ユーザ登録すべしみたいなのが出るけど、下の
» No thanks, just take me to the downloads!
を選択するとミラー一覧が出てくる。
↑のURLはそこのリンクのうちひとつをコピペしたもの。
エラーが出た。
エラー: 依存性の欠如:
libaio.so.1 は MySQL-server-5.6.5_m8-1.linux2.6.i386 に必要とされています
libaio.so.1(LIBAIO_0.1) は MySQL-server-5.6.5_m8-1.linux2.6.i386 に必要とされています
libaio.so.1(LIBAIO_0.4) は MySQL-server-5.6.5_m8-1.linux2.6.i386 に必要とされています
のでインストール。
yum -y install libaio
以下の様な大量のエラーが。
ファイル /usr/share/mysql/charsets/README (パッケージ MySQL-server-5.6.5_m8-1.linux2.6.i386 から) は、パッケージ mysql-libs-5.1.52-1.el6_0.1.i686 からのファイルと競合しています。
ファイル /usr/share/mysql/charsets/Index.xml (パッケージ MySQL-server-5.6.5_m8-1.linux2.6.i386 から) は、パッケージ mysql-libs-5.1.52-1.el6_0.1.i686 からのファイルと競合しています。
ファイル /usr/share/mysql/charsets/armscii8.xml (パッケージ MySQL-server-5.6.5_m8-1.linux2.6.i386 から) は、パッケージ mysql-libs-5.1.52-1.el6_0.1.i686 からのファイルと競合しています。
...
↓を参考に、競合するmysql-libsを削除。
Scientific LinuxにMySQL5.5をインストール - cyber_snufkinの日記
rpm -qa|grep mysql
mysql-libs-5.1.52-1.el6_0.1.i686
yum remove mysql-libs
yumで入れた時と違ってmy.cnfが無かったので、↓とyumでインストールした時のmy.cnfを参考に作成。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 2.10.1.2 MySQL を自動的に起動および停止する
[mysqld]basedirが良くわからないので指定なし。
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
port=3306
character-set-server=utf8mb4[mysqld_safe]
log-error=/var/log/mysqld.log[mysql.server]
# basedir= What's this?
yumで入れた時はmysqldだったが、今回はmysqlで/etc/init.dに起動スクリプトがインストールされていた。
service mysql start
起動成功!!
mysql_secure_installation
Can't find a 'mysql' client in PATH or ./binクライアント入ってねーのかyp…
インストール
rpm -ivh http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.5_m8-1.linux2.6.i386.rpm/from/http://ftp.jaist.ac.jp/pub/mysql/
パッケージは
Linux - Generic 2.6 (x86, 32-bit), RPM Package
Client Utilities
もう一度。
mysql_secure_installation
...成功!
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.Thanks for using MySQL!
mysql -uroot -p
接続完了!!
後はphpとかはyumで入れたものでも動くのかとか、iOSから接続して実際に絵文字を保存して取り出せるのかとか…試さないと。
Samba覚書その2
Sambaで共有した(ホーム)ディレクトリに、そのディレクトリ外のディレクトリ(具体的には/var/www/html)への
シンボリックリンクを貼ってアクセス出来なかったのを出来るようにしたメモ。
SELinux
いつものヤツ。
setsebool -P samba_export_all_rw true
samba_export_all_roをtrueにしても、アクセスは出来るが書き込みが出来なかった。
そろそろSELinuxはデフォOFFでもいいんじゃないかという気がしてきた…。
http://okuma-shinkan.cocolog-nifty.com/newshinkan/2008/03/fedora8samba2_621e.html
ちなみに、「-P」オプションを付けないと、再起動した時に再び前の値に戻る。
smb.conf
vi /etc/samba/smb.conf
Samba 3.4.7 上のシンボリック・リンク参照先に Windows クライアントがアクセスできない
[global]globalでいいのかなぁ。homesにした方がいいのかも?
...
unix extensions = no
wide links = yes
...
でもSambaのポートを外部に公開する事はあんまないだろうしいいかな。
再起動
service smb restart
CentOS6.2(32bit)にyumでMySQL5.5をインストールする。
rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/i386/epel-release-6-5.noarch.rpm rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm yum --enablerepo=epel,remi list mysql-server
Loaded plugins: fastestmirror5.5キターこれでutf8mb4使える!
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* epel: ftp.riken.jp
* extras: ftp.riken.jp
* remi: rpms.famillecollet.com
* updates: ftp.riken.jp
remi | 2.9 kB 00:00
remi/primary_db | 247 kB 00:03
Available Packages
mysql-server.i686 5.5.24-1.el6.remi remi
yum --enablerepo=epel,remi -y install mysql-server
CentOS 5.5にyumで MySQL 5.5をインストールする - hrendohの日記
http://wdsdx.com/yum_repo_epel
ブリッジ接続の設定
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
HWADDR="xx:xx:xx:xx:xx:xx" #アダプタ2のMACアドレス
NM_CONTROLLED="yes"
ONBOOT="yes"
IPADDR=192.168.0.100
NETMASK=255.255.255.0
NETWORK=192.168.0.0TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
/etc/init.d/network restart
簡単だったしこっちのが色々便利だった。
↓の設定でもいけた。
DEVICE="eth1"
HWADDR="xx:xx:xx:xx:xx:xx" #アダプタ2のMACアドレス
NM_CONTROLLED="yes"
ONBOOT="yes"
BOOTPROTO=static
IPADDR=192.168.0.100
NETMASK=255.255.255.0
GATEWAY=192.168.0.1 #デフォルトゲートウェイのアドレス
CentOSでphpでmemcache。
memcached
yum -y install memcached chkconfig memcached on service memcached start
php-pecl-memcache
yum -y install php-pecl-memcache
コード。
<?php $memcache = new Memcache; $memcache->connect('localhost', 11211) or die("接続できませんでした。"); echo("接続しました。"); $memcache->close(); ?>
これだけだと繋がらなかった。
phpのエラーログを出してみる。
vi /etc/php.ini
以下を追記。
error_log=php_errors.logこんなログが出てた。
[04-May-2012 03:12:48] PHP Notice: Memcache::connect(): Server localhost (tcp 11211, udp 0) failed with: Permission denied (13) in /var/www/html/memcache_test.php on line 4Permission deniedだとう…。
[04-May-2012 03:12:48] PHP Warning: Memcache::connect(): Can't connect to localhost:11211, Permission denied (13) in /var/www/html/memcache_test.php on line 4
SELinuxの設定
ググったところ、SELinuxの設定じゃね?ていう海外サイトの記事を見つけたので、
早速見てみる。
getsebool -a | grep mem allow_execmem --> on allow_nsplugin_execmem --> on allow_xserver_execmem --> off httpd_can_network_memcache --> off httpd_execmem --> off
httpd_can_network_memcache コレかーー!!
setsebool -P httpd_can_network_memcache true
解決。
Sambaの覚書。
ポートを開ける。
iptables -I INPUT -p tcp -m tcp --dport 139 --syn -j ACCEPT service iptables save service iptables restart
起動
service smb start service nmb start
ホームディレクトリにアクセス出来ない時
SELinuxの設定がなんとかかんとか。
getsebool -a | grep samba
samba_create_home_dirs --> offsamba_enable_home_dirsがoffだとダメっぽい。
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
use_samba_home_dirs --> off
virt_use_samba --> off
setsebool -P samba_enable_home_dirs true
実行には結構時間かかるので注意。
[覚書]sambaを使ってホームディレクトリにアクセスしようとしたら拒否されたとき[SElinuxの場合] « Deginzabi163's Blog below 60%
http://homepage2.nifty.com/t-1000/linux/samba.html
CentOS 5インストールメモ
VirtualBoxにCentOSを入れてWebサーバを叩くまでメモ
VirtualBox
VirtualBoxを適当に落としてくる。
起動して新規。
- 仮想マシン名とOSタイプ
- 名前:centos 適当に。
- オペレーティングシステム:Linux
- バージョン:Red Hat
- メモリ 適当に。
- ハードディスク
- 次へ
- VDI
- Dynamically allocated
- Create
CentOS(ゲストOS)
isoを適当に落としてくる。
http://mirrors.sin3.sg.voxel.net/centos/6.2/isos/i386/CentOS-6.2-i386-bin-DVD1.iso
後は適当に。
解像度とフォントの設定
vi /etc/sysconfig/i18n
SYSFONT="lat0-10"と追記。
vi /etc/grub.conf
kernel〜で始まる行(カーネルオプション指定)の最後(rd_NO_DM)に半角スペースを付けて、vga=789と追記。
reboot
ネットワーク設定その1(NAT)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT="yes" #noなのでyesに変更。
BOOTPROTO=dhcp #追記。
/etc/init.d/network restart
これで外のサーバを叩ける。
ping www.yahoo.co.jp
ネットワーク設定その2(ホストオンリーアダプタ)
VirtualBoxマネージャーの方で、
- ファイル > 環境設定 > ネットワーク > ホストオンリーネットワーク > 右の+アイコン
- VirtualBox Host-Only Ethernet Adapter(macだとvboxnet0)が出来る。
- centosをシャットダウンしておく。
/sbin/shutdown -h now
- 設定 > ネットワーク > アダプタ2
- 割り当て:ホストオンリーアダプタ
- 名前:VirtualBox Host-Only Ehternet Adapter
- centosを起動して
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
HWADDR="xx:xx:xx:xx:xx:xx" #アダプタ2のMACアドレス
NM_CONTROLLED="yes"
ONBOOT="yes"
IPADDR=192.168.56.10
NETMASK=255.255.255.0
NETWORK=192.168.56.0TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
/etc/init.d/network restart
これでホストOSからssh接続出来る。
Apache
yum -y install httpd /etc/init.d/httpd start
80番ポートを開ける。
iptables -I INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT service iptables save service iptables restart
これでホストOSからhttp://192.168.56.10/でアクセス可能。