C++Builder好きの秘密基地 このページをアンテナに追加 RSSフィード

2011-12-11

Ubuntu 11.10カスタマイズ関連の覚え書き

Ubuntu 11.10をインストールしたのだけど、気に入らないところがあったのでカスタマイズしてみた。

GUIシェルgnome-shellにする。

個人的にUnityは好きになれないので、従来のgnome-shellにする。
端末を開いて以下のコマンドを実行。まず、apt-get update/upgradeで最新の状態にする。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install gnome-tweak-tool

ubuntu-tweakインストールすれば、芋づる式にgnomeまでインストールされる。
一旦ログアウトし、ログイン画面で歯車のアイコンをクリックすると一覧に"gnome"があるので選択。ログインすればUnityに変わってgnomeシェルになる。

デフォルトテキストエディタvimにする。

ドットファイルダブルクリックするとgeditが立ち上がるのが気に入らないので、これをgvimにする。
端末を開いて以下のコマンドを実行。

sudo apt-get install vim-gnome
sudo gvim /usr/share/applications/defaults.list 

vimで開いたファイルのtext/plain行の値をgvimにする。

text/plain=gvim.desktop

一旦ログアウトして、再度ログインすれば設定が反映される。
~/.local/share/applications/mimeapps.listがユーザーごとの設定ファイルみたいだけどうまくいかなかった。全体に影響がある部分を修正したくなかったけど、自分用の仮想マシンだから気にしない。

2011-04-18

CentOS 5.6で最低限のWebアプリ開発環境を構築する

半ば個人的な手順書。少々怪しいかも。すべてCUIで行う場合を想定。

開発ツールのインストール

デフォルトではgccとか入らないので。

# yum groupinstall 'Development Tools' 'Development Libraries'

PHP5.3をインストール

デフォルトPHPは5.1なので、5.3をインストール。ただし、php53-pearが無いのでpearはPHP5.1のをインストールアップグレード。最初はメッセージが色々出るけど気にしない。(参考:http://d.hatena.ne.jp/Akkiesoft/20110411/1302488866

# yum remove php php-*
# yum install php53 php53-*
# yum install php-pear
# pear upgrade --force Archive_Tar
# pear upgrade --force Console_Getopt
# pear upgrade PEAR

"pear list" でバージョンの確認が出来る。

Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.7   stable
Console_Getopt   1.3.1   stable
PEAR             1.9.2   stable
Structures_Graph 1.0.4   stable
XML_RPC          1.5.0   stable
XML_Util         1.2.1   stable

Xdebugインストール

PHPデバッグツールであるXdebugインストール

# pecl install xdebug

ビルドが終わったら/etc/php.iniに以下の項目を追加する。

[zend]
zend_extension="/usr/lib/php/modules/xdebug.so"
xdebug.remote_enable=On
xdebug.remote_host=192.168.X.X

xdebug.remote_hostはリモートデバッグをする場合の接続元のIPアドレス
"system-config-securitylevel"ツールを使用してXdebugが使用するポート9000を開ける。

# system-config-securitylevel

Apacheの動作を確認

# chkconfig --list | grep httpd
# chkconfig httpd on
# /etc/init.d/httpd restart

PHPの動作を確認

関数phpinfoはプラグインの状態も表示してくれる。Xdebugが正しくインストールされればその情報も。

<?php
phpinfo();
?>

動作しない場合は、コマンドラインで実行してエラーメッセージを調べる。

# php /var/www/html/index.php

SELinux関連

SELinux管理ツールインストールSELinuxは有効にした方が無難かも。*1

# yum install setroubleshoot
# chkconfig setroubleshoot on
# /etc/init.d/setroubleshoot start

SELinuxの生ログは/var/log/audit/audit.log。「sealert -a /var/log/audit/audit.log」で詳細な内容をわかりやすく表示してくれる。
SELinux関連はこれらが参考になる。

一般ユーザーとsambaの設定

お約束の一般ユーザーの追加。SELinuxが有効なときにSambaのファイル共有を許可するにはsamba_enable_home_dirsの値を1にする。

# adduser a7m
# passwd a7m
# pdbedit -a a7m
# setsebool -P samba_enable_home_dirs=1 
# chkconfig --list | grep smb
# chkconfig smb on
# /etc/init.d/smb start

MySQL関連

MySQLインストール

インストールされるバージョンは5.0。

# yum groupinstall 'MySQL Database'
初期設定

/etc/my.cnfを編集する。エンジンはInnoDBを使用し、デフォルトエンコーディングUTF-8にする。

[mysqld]
default-character-set = utf8  ; ←追加
default-storage-engine=InnoDB ; ←追加
[mysql]
default-character-set = utf8  ; ←追加
セキュリティ関連

"system-config-securitylevel"ツールを使用してMySQLが使用するポート3306を開ける。

# system-config-securitylevel
# setsebool -P httpd_can_network_connect=1

httpd_can_network_connectを1にしないと、httpdが外部DB鯖と通信できない模様。

MySQLデーモンの起動
# chkconfig --list | grep mysqld
# chkconfig mysqld on
# /etc/init.d/mysqld start
初期データベースの構築

スクリプトmysql_secure_installationを実行して、メッセージに従えばOK。

# mysql_secure_installation
リモートからrootログインを許可する

セキュリティ的には良くないけど、WindowsからGUIでいろいろ出来るので。

# mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'rootpassword';

パッケージのアップデート

最後にインストール済みのパッケージを更新する。

# yum check-update
# yum update

*1:本当は完全に無効化したかったのだけど、ポリシーを理解すればそんなに敷居が高くない。

2010-05-05

覚え書き:Ubuntu 10.04における日本語フォントマッピング設定

Ubuntu 10.04におけるデフォルトフォントマッピングの設定は/etc/fonts/conf.avail/にある、65-nonlatin.confをいじればOKってことか。

/fontconfig/alias/familyの値がフォント名で、それに対応するのは/fontconfig/alias/preferの値。 preferタグにぶら下がっているfamilyタグの出現順でフォントが決まる。
Ubuntu 10.04で標準の日本語フォントになったTakaoフォントを最優先で使用したい場合は、preferタグのうち、日本語フォントとおぼしきところの最上位に<family>TakaoMincho</family>とか<family>TakaoGothic</family>を記述する。

でもさ、69-language-selector-ja-jp.confとの兼ね合いはなんなんだろ。挙動としてはinit.dに近いからシステム全体の優先順位っぽいけど、その手の設定が分散しているのは気持ち悪い。

05/15 追記1:
VLゴシックを突っ込んで65-nonlatin.confをいじってVLゴシックがデフォルトフォントにならないのは何故なんだろ。
ただ69-language-selector-ja-jp.confでVL Pゴシックの優先度を高くしたらうまくいった。
もう、なんだか訳がわからない。ヽ(`Д´)ノ ウワァァァン

05/16 追記2:
どうも、10.4の初期バージョンのlanguage-selectorにバグか何かがあった模様。アップデートすれば、

  1. ~/.fonts.conf
  2. /etc/fonts/conf.avail/69-language-selector-ja-jp.conf
  3. /etc/fonts/conf.avail/65-nonlatin.conf
の順でフォントマッピングを見るようになったみたい。

2009-04-08

Debian LennyでWEBサーバーを立ち上げる場合の設定

Debian Lennyのhttpd.confのファイルサイズが0バイトで、なぜ動いているんだろうと思ったら、以下の理由だったんだ・・・。


  • 標準的なhttpd.confの「本体」は、/etc/apache2/apache2.conf。
  • その、/etc/apache2/apache2.confの最終行に"Include /etc/apache2/sites-enabled/"という文が記述されていて、こいつがキモ。
  • /etc/apache2/sites-enabled/には、000-defaultというシンボリックリンクがあり、こいつは、../sites-available/defaultにリンクしている。
  • 結果的にインクルードされる、/etc/apache2/sites-available/defaultには、DocumentRoot関係の設定が記述されている。
  • て、ことで、/etc/apache2/sites-available/defaultを直接書き換えればおkってことではなく、こいつをコピーしたやつを編集する。
  • コマンド"a2ensite [ファイル名]"でコピーしたファイルを「有効」にしてやれば、シンボリックリンクが作成されて、自動的にインクルードされる。逆に、"a2dissite [ファイル名]"でシンボリックリンクが削除される。ファイル名はフルパスでないのに注意。
  • もちろん、defaultは最優先でインクルードされるので、defaultと内容が重複する場合は"a2dissite default"で標準の設定を無効にしておく。
  • /etc/apache2/apache2.confは、/etc/apache2/httpd.confもインクルードしているので、必要に応じてこっちも編集する。

大半のユーザーがいじる部分はDocumentRootとか、Directoryとか、モジュール関係だから、そいつを別ファイルにしておくってのは、かなりいい手かも。
httpd.confをゼロから書く猛者っていないよね?

2007-06-19

Solaris 10 (SPARC)をSubversionサーバにする(svnserve使用)


以下の手順でインストールをした。

1.http://sunfreeware.comからパッケージをダウンロード&インストール
2.rootでリポジトリを作成する。

# svnadmin create /home/svn

3.デーモンとして起動するようにする。(参考:http://www6.atwiki.jp/divadiva/pages/38.html
3-1. /etc/servicesに以下の行を追加
 svn    3690/tcp           # Subversion server
 svn    3690/udp           # Subversion server

3-2. /etc/inetd.confに以下の行を追加
svn stream tcp nowait root /usr/local/bin/svnserve svnserve -i -r /home/svn/

3-3. inetconvを実行してSMFがSubversionを管理できるようにする。
 # inetconv

確認はinetadmを実行。
# inetadm | grep svn

svnserveが起動しない場合にエラーメッセージを見るには、適当なwebブラウザを開いて
http://サーバ名:3690

と入力する。そうすると、svnserve起動時のエラーメッセージがWebブラウザに表示される。
これ、ポート番号を変えれば他のエラーメッセージも取れるかも。

4. 認証の設定
4-1. リポジトリにあるconf/svnserve.confを編集する。
[general]
anon-access = read    # 匿名ユーザーは読み込みのみ
auth-access = write   # 認証済みユーザーは書き込みOK
password-db = passwd  # パスワードファイル名
realm = MY Repository # リポジトリの説明

4-2. パスワードファイル(conf/passwd)を編集
[users]
a7m = a7mpassword

パスワードファイルには暗号化しないパスワードを記述するので、chmodを使ってアクセス権を制限する。
# chmod 600 conv/passwd



5. ローカル(Windowsマシン)で管理していたリポジトリの移行
5-1.コマンドプロンプトを開いてsvnadminを実行
D:\home\svn> svnadmin dump D:\home\svn > D:\dump070619

5-2.ダンプファイルをサーバーにコピー
5-3.ダンプファイルをインポート
# svnadmin load /home/svn < dump070619



予想よりあっさり動いた。∩( ・ω・)∩ ばんじゃーい
リポジトリ内の日本語を使用したファイルも問題なし。