自分で作ったり提供したりするものは、まず自分自身で使ってみろろということです。自分じゃ使わないものなら人はいくらでも無責任にも無思考にもなれる。そういう投げやりな「サービス」やら「プロダクツ」なんて、だれだってイヤだ。自分が作り手と同時に利用者の立場になれば、ちゃんと使えるレベルのものを提供しようとします。

2011年11月28日月曜日

Ubuntu Sun JDKをインストールする方法

sudo apt-get install python-software-properties
sudo apt-get update
sudo apt-get upgrade
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install sun-java6-jdk

JAVA_HOME設定:
JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.26/
export JAVA_HOME

標準JDK設定
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6_09/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6_09/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6_09/bin/jar 300

2011年11月27日日曜日

Ubuntu+Drupalインストール

Ubuntu 10.04.3 LTS(lucid)でDrupal6をインストールする手順を説明します。
①システムリポジトリ更新
sudo apt-get update && sudo apt-get upgrade
②必要なパッケージをインストール
sudo apt-get install apache2 php5-pgsql php5-gd libapache2-mod-php5 postgresql
③Apache設定
sudo a2enmod rewrite

sudo nano -w -i /etc/apache2/sites-available/default
...
"AllowOverride none" -> "AllowOverride All"
...

sudo nano -w -i /etc/apache2/apache2.conf
...
ServerName UbuntuDrupal
...

sudo nano /etc/php5/apache2/php.ini
...
expose_php = Off
...

sudo /etc/init.d/apache2 restart
④この例でPostgreSQLを採用するため、PostgreSQLをインストール
sudo su postgres
psql postgres
postgres=# \password postgres
⑤本格にDrupalをインストールし、設定する
●6
sudo apt-get install drupal6
sudo cp /etc/drupal/6/apache2.conf /etc/apache2/sites-available/drupal
sudo a2ensite drupal
sudo /etc/init.d/apache2 restart
●7
sudo apt-get install drupal7
#sudo cp /etc/drupal/7/apache2.conf /etc/apache2/mods-enabled/drupal7.conf
sudo a2dissite default
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/drupal7
sudo nano -wc /etc/apache2/sites-available/drupal7
#DocumentRoot、Directoryなどを【/usr/share/drupal7】に変更する
#"AllowOverride none" -> "AllowOverride All"
sudo a2ensite drupal7
sudo /etc/init.d/apache2 restart
⑥ブラウザーからプログラムを起動する
http://server-ip/drupal6/install.php
●手動インストール
wget http://ftp.drupal.org/files/projects/drupal-7.15.tar.gz
tar xvzf drupal-7.15.tar.gz
mv drupal-7.15 /var/www/drupal
mkdir /var/www/drupal/sites/default/files
chmod 777 /var/www/drupal/sites/default/files
cp /var/www/drupal/sites/default/default.settings.php /var/www/drupal/sites/default/settings.php
chmod 777 /var/www/drupal/sites/default/settings.php
su -l postgres
createdb drupal
exit
http://127.0.0.1/drupal/install.php

完成!

2011年11月26日土曜日

ssh設定

opensshパッケージインストール
openssh-server(クライアントパッケージも含む)
openssh-client

RSA設定手順
①RSAキー作成
ssh-keygen -t rsa -C "Koma RSA Test"
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
②パブリックキーをサーバーにコピー
ssh-copy-id -i .ssh/id_rsa.pub username@server-ip
③ログインしてみる
ssh -i .ssh/id_rsa username@server-ip
④rsyncを実行してみる
rsync -auzxvv --delete -e ssh username@server-ip:/var/lib/ ~/lib
⑤サーバーでパスワードログインを禁止させる
sudo nano -w -i /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
UsePAM yes
下記のように変更する
PermitRootLogin no
PasswordAuthentication no
UsePAM no

サーバーSSHD再起動する
sudo /etc/init.d/ssh restart
パスワードログインを禁止しました。

OK!

rsync知識の纏め

ローカルバックアップ
sudo rsync -auzxvv --delete /var/www/ /var/www.bak/
sudo rsync -auzxvv --delete --include=/*/* /var/www/ /var/www.bak/

リモートバックアップ
sudo rsync -auzxvv --delete -e ssh username@serversrcip:/var/lib/ /var/lib/

2011年11月20日日曜日

mysqladmin

サービス状態を確認する
mysqladmin -u root -p ping

データベースを操作する
mysqladmin -u root -p コマンド

Liferayクイックインストール

Quick Installation Instructions

http://www.liferay.com/ja/community/wiki/-/wiki/Main/Quick+Installation+Instructions

よくある質問
http://www.liferay.com/ja/community/wiki/-/wiki/Main/%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E8%B3%AA%E5%95%8F

Ubuntuシステム時間同期

/etc/cron.daily/timeupdateを作成して、下記の内容を記述する。

ファイル内容:
sudo /usr/sbin/ntpdate ntp.ubuntu.com pool.ntp.org

実行権限付与:
chmod +x /etc/cron.daily/timeupdate

#crontab -e
#0 0 * * * /root/timeupdate >/dev/null 2>&1

2011年11月19日土曜日

Apache VirutalHost設定例

全てのバーチャルホストは一つのファイルに纏める例です。
/etc/apache2/sites-enabled/web1

NameVirtualHost 192.168.3.21:80
<VirtualHost 192.168.3.21:80>
ServerAdmin webmaster@localhost
ServerName web1.com
DocumentRoot /var/www
</VirtualHost>
<VirtualHost 192.168.3.21:80>
ServerAdmin abc@web11.com
ServerName web11.com
DocumentRoot /var/www/web11
</VIrtualHost>

Apache+Tomcat+Ajp_Proxy

Apache設定
/etc/apache2/sites-enabled/web1

ServerName webld1.com

<VirtualHost 192.168.3.21:80>
 ServerAdmin webmaster@localhost
        ServerName  web1.com
        DocumentRoot /var/www
        ProxyPass / ajp://127.0.0.1:8009/
        #DocumentRoot /var/www
 <Directory />
  Options FollowSymLinks
  AllowOverride None
 </Directory>
 <Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  allow from all
 </Directory>
        <Proxy ajp://127.0.0.1:8009>
            Order allow,deny
            allow from all
        </Proxy>
 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
 <Directory "/usr/lib/cgi-bin">
  AllowOverride None
  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  Order allow,deny
  Allow from all
 </Directory>

 ErrorLog /var/log/apache2/error.log

 # Possible values include: debug, info, notice, warn, error, crit,
 # alert, emerg.
 LogLevel warn

 CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

2011年11月17日木曜日

Ubuntu NFS知識の纏め

★サーバー側:
インストール:sudo apt-get install nfs-kernel-server
①/ect/exportsファイルを編集する
------------------------------------------------------------------------------------------
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
# /var/www xxx.xxx.xxx.xxx(rw)
#/var/www 192.168.0.0/24 (rw,sync)
/var/files *(rw,sync,no_subtree_check)
------------------------------------------------------------------------------------------

option説明:
rw              読書き可
    ro              読み取りのみ
    sync            遅延書き込みの有効
    root_squash     rootユーザの場合、匿名ユーザにする
    no_root_squash  rootユーザの場合、そのままの権限でアクセスさせる
    all_squash      すべてのユーザを、匿名ユーザにする
    no_all_squash   そのままのユーザ(ID番号)でアクセスさせる
    anonuid=nn      nfsサーバのUIDにマッピングさせる(nnはID番号)
    anongid=nn      nfsサーバのGIDにマッピングさせる(nnはID番号)
                    *:匿名ユーザとは、nfsクライアントから書き込まれたファイルやディレクトリ
                        の所有者・グループがデフォルトの「nfsnobody」となります。

②設定内容をエキスポートする
sudo exportfs -rv

★クライアント側:
sudo apt-get install nfs-client
mkdir nfs
sudo mount -t nfs xxx.xxx.xxx.xxx:/var/www ./nfs -o sync

●/etc/fstab編集
xxx.xxx.xxx.xxx:/var/www /var/www nfs rw,sync 0 0

システムサービスについて

起動サービス用:
update-rc.d
例:
sudo update-rc.d <サービス> defaults [<起動 /停止順> | <起動順> <停止順>]
sudo update-rc.d -f <サービス> remove

随時サービス用:
service
例:
sudo service <サービス> start
sudo service <サービス> stop

2011年11月10日木曜日

crontabタスクを確認

LinuxシステムにCronタスクを確認する方法をメモします。

crontab -l

設定内容は/var/spool/cron/[user]に保存されますが、パーミッションの関係でrootユーザでしか中身は確認できないはずです。

Apacheに組込まれているモジュール確認

Apache2.0
sudo apache2 -l #静的モジュール確認(debパッケージの場合は、apache2ctlでも可)

動的モジュールは、設定ファイルhttpd.confのLoadModuleディレクティブで確認します。
#LoadModule php5_module modules/libphp5.so

Apache2.2
Apache2.2では、apache2ctl -Mで確認できます。
$ sudo apache2ctl -M

ホームページ