ページ先頭

本文にスキップします


KCGブログ Produced by kcg.edu
KCGブログkcg.edu
288997

不定期ソフトウェア開発

さとーしの日常業務時々授業と 不定期なソフトウェア開発。 KCGに関する内容。


<< 2010年09月 >>



1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

Ubuntu 10.04 LTS




オープンソースカンファレンス2010 Kansai@Kyoto

2010年7月9日(金)/10日(土)
(終了)
京都コンピュータ学院京都駅前校


プロフィール



さとーし
(Satoshi Yamazaki)

京都コンピュータ学院で主にプログラミング系授業担当。
C言語とかJavaとかC++とか卒業実習を担当。
ツールをC言語,C++,PerlやPHPを使って自作する。
Ubuntu ( Linux ) をUSBメモリで動かす研究にハマる。
最近はUSBメモリから USB HDDに変更した。

プロフィール詳細...

別ブログ:さとーC++ぶろぐ


人気エントリ



新着エントリ


私のキーワード一覧


MyPC主要パーツ



カテゴリごとのリンク集


新着トラックバック


上位のキーワード




XML
ATOM

UbuntuでApache+PHP+MySQLの開発!

Apache+PHP+MySQLのシステムを開発。
これこそWindowsよりUbuntuを使う方が色々いい。
実際のApache+PHP+MySQLの多くはLinuxで動いているからだ。
私はWeb系の作業が多いので,Windowsよりも作業効率がアップしている。

その理由:
・Ubuntu デスクトップ版でも,サーバソフトをインストール出来る。
・UbuntuはLinuxである。
・Ubuntuで WebサーバApacheやPHPやMySQLやPerlを動かすことは,Linuxで動かすことになる。
・WebサーバApacheの多くはLinuxで動いている。PHPやMySQLもLinuxで動いているものが多い。
・UbuntuでのWeb開発は,実際のWebサーバと同じ環境で出来る。
・UbuntuはWindowsの代わりとして十分に使えるほど快適である。またハードウェア認識能力・対応がよい。
・ WindowsとLinuxは別のOSであり,Windowsで開発すると細かいところが色々違うので,OSが違うことによる問題が時々起こる。(だから Windows上でLinux環境を再現するためにVMwareとかcoLinuxなどを使うのだがメモリ使用量やハードディスク使用量が多い。当然コンピュータも遅くなる。)
・UbuntuはLinuxなので,サーバとのOSの違いによる問題が起こらない。ソフトのバージョンの違いによるわずかな機能の違いぐらい。
・Ubuntuの方がApache+PHP+MySQLの開発環境を作るのが簡単。
sudo apt-get install apache2 php5 php5-gd mysql-server php5-mysql phpmyadmin

と端末から実行するだけで,環境が完成する。(途中,phpMyAdmin のrootのパスワード設定をする必要はあるが。) WindowsにXAMPPを入れるより簡単。ただし,UbuntuにもXAMPPがあるが,この方法の場合はダウンロードすら自動だ。ちなみにUbuntuのサーバ版は,インストール時にLAMPP(XAMPPのLinux版)を入れることができる。
http://localhost/phpmyadmin/

で MySQL管理画面を出せる。root でインストール時に設定したパスワードを入力すれば使える。
・これらすべてもUSBメモリにインストールした環境で作れる。どこでも,完全な開発環境を持ち歩けるのだ。
・Ubuntuなら,ウェブサーバ上のファイルをローカルのファイルと同じ様に扱える。(正確には GNOMEの機能)
・テキストエディタは GEdit , Bluefish , Scream , gPHPEdit , Geany というのがある。これらは apt-get install bluefish screem gphpedit geany で全部入れることとが出来ます。
・HTMLのWYSIWYG編集ソフトとして seamonkeyのcomposerが便利。 mozilla(Netscape)の後継。WYSIWYG はワープロ風に編集できることをいう。WYSIWYG=ワープロでほぼ間違いない。 sudo apt-get install seamonkey で入れることが出来ます。
・画像の加工ソフトは GIMP がある。

もちろん,これらのソフトウエアは,すべてUbuntuのパッケージ管理下にあるので,セキュリティの更新対象である。



参考:
PHPの設定ファイルの位置や上限メモリ量設定方法:
[PHPの使用メモリの上限設定変更Windows・Linux(Ubuntu/Debian/Fedora/CentOS)・FreeBSD]


おまけ:
UbuntuでのApache 設定入門

UbuntuはDebian系なのでApache 設定ファイルは以下の通り。
(RedHat系とは ディレクトリ位置やファイル構成が違う。)


ウェブサーバApache2の主な設定ファイルの編集:

http://localhost/ のディレクトリの設定とかはこれ
sudo gedit /etc/apache2/sites-available/default


Apache2 全般の設定ファイルはこれ。
sudo gedit /etc/apache2/apache2.conf



他の設定ファイルはディレクトリ
/etc/apache2

に色々ある。まぁ,あまり使わないけど。



Apacheのモジュールの有効無効はコマンドで。
例えば,php5モジュールを有効に
sudo a2enmod php5


php5モジュールを を無効にするなら
sudo a2dismod php5
これらのコマンドは,下記のディレクトリにシンボリックリンクを作るだけなのですが,それ以外に,モジュール間の依存関係を認識して関連する複数のモジュールをセットで有効・無効の処理をしてくれます。

有効なモジュールの一覧表示:
ls /etc/apache2/mods-enabled
*.load が本体。*.confが設定ファイル。

インストールされているモジュールの一覧表示:
ls /etc/apache2/mods-available


サイトも同様に sudo a2ensite サイト名とか sudo a2dissite サイト名 で有効無効ができる。
一覧も同様に ls /etc/apache2/sites-enabled とか ls /etc/apache2/sites-available でみれる。
これらは1つのコンピュータで複数のウェブサーバを構築する場合のみ使用。


ウェブサーバの再起動(設定書き換えたり,モジュール変更したらこれを実行)
sudo apache2ctl restart

設定ファイルを書き間違えると,再起動が失敗してしまい,Apacheウェブサーバが停止してしまう。(というか,管理者としてまずい・・・。)
それを防ぐために,設定ファイルに間違いが無いかどうかチェックする方法がある。以下を実行。
sudo apache2ctl -t
実運用しているウェブサーバならば,設定ファイルを書き換えた後はかならずこれで間違いがないかテストした方が安全です。
問題なければ
Syntax OK
と出力される。
この状態ではまだ,設定が適用されていない。設定を完了させるために, sudo apache2ctl restart を実行するのを忘れずに。


Webサーバの実ファイルの位置:
ドキュメントルート http://localhost/ は
/var/www/


CGIディレクトリの http://localhost/cgi-bin/
/usr/lib/cgi-bin/



Apache2 の実行ユーザ名・グループ名は, www-data

オーナーがrootなので書き込みがしにくいので,/var/www/ のオーナーをログインユーザIDにすると書き込みが便利
sudo chown -R ログインユーザID:www-data /var/www/

ウェブサーバによる実行や書き込みなどの設定はグループのパーミッション(属性)の設定で行います。(グループ名www-dataになるので。)

パーミッションを最適化し,基本的なセキュリティを強化。
sudo chmod 750 /var/www/
・オーナー(ログインユーザ)は読み書き実行可能。
・グループ(ウェブサーバ)は読み込みと実行可能。
・その他は何も許可しない。(ログインユーザ以外のユーザやwww-dataグループ以外で侵入をしても,ウェブサイトのハイジャックが出来ない様にする。) ゲストのダイレクトなアクセスを禁止する理由は,PHP等のスクリプトのソースの保護や,.htaccessファイルなどのファイルそのものの保護やディレクトリ別アクセス制限しているのを見せない様にするため。(apache経由じゃないと,ウェブで認証などのアクセス制限していても,丸見えになるため!!)
オーナーはrootのままで sudo chmod a+w -r /var/www をすれば,書き込みが出来るものの,上記の問題が残る。

ログインユーザのグループもwww-data にしておくと,ファイルを作成してもファイルのグループがwww-dataになる。以下を実行すれば,ログインIDのユーザの所属グループをwww-dataに出来る。
sudo usermod -g www-data ログインユーザID
ログインユーザの変更後のグループを有効にするには,一旦ログアウトする必要があります。(ログアウトするまでは,以前のグループに所属したままです。)

アクセスしやすいように ショートカット(シンボリックリンク)をホームディレクトリに作る
cd
ln -s /var/www


apache2はインストールすると,自動起動するのですが,学習用環境の場合は常時起動させておく必要がありません。
自動起動しない設定は sysv-rc-conf というソフトを利用すると簡単に出来ます。
sudo apt-get install sysv-rc-conf
設定方法は
sudo sysv-rc-conf apache2 off
で, apache2 の自動起動を止める事が出来ます。
再度有効にするには,
sudo sysv-rc-conf apache2 on
とします。
このsysv-rc-confは,他にも自動起動するサーバ(デーモンともいいます)をon やoff する事が出来ます。

なおapacheの起動方法は
sudo apache2ctrl start
で出来ます。
終了は
sudo apache2ctrl stop
で出来ます。

別の書式では,開始は
sudo /etc/init.d/apache2 start

終了は
sudo /etc/init.d/apache2 stop
で出来ます。

2008-11-05 19:44:00| コンピュータコメント(4) 通報する

このエントリーのトラックバックURL:
http://blog.kcg.ne.jp/blog/sato_si/5488/receiver
*トラックバックの反映には時間がかかりますので、送信後はしばらくお待ち下さい。
すごい参考になりました!
有り難うございます。
インスコしたばかりで難しいですが、コマンドだけですぐにインストール出きるのが便利ですね。
通報する 投稿者:tadano - 2009-05-10 19:16:37
YBR125G海苔です。

貴重な情報が色々満載で大変参考になりました。ありがとうございます。

永年MSドブ漬け環境に居たですが、職場でオープンソースまものが増えてきたので、
自宅サーバを組みつつLinuxを勉強することにしました。

この5連休でEPIA-MS+CF8GBにUbuntuサーバ版LAMP+X環境を入れるところ
までこぎつけ、Apache周辺のセキュリティ設定を探していてこのHPに到達しました。

まだviの操作すらあゃしぃですが、何とかCMS・BBSを設置できるまでになりたいです。

通報する 投稿者:くま~ - 2009-09-23 10:53:39
はじめまして 初心者のたこたこです。
大変参考になりました。初心者ですが私もUbuntuでサイトを作りアップしています。アップしたばかりなのでCGIの設定などこれから勉強してブログなどを充実しようと考えています。先月まではUbuntu9.04でLamppを構築して勉強しておりましたが、Ubuntu9.10にアップしたらLamppの設定が変わりました。
/opt/lampにインストールしており以前はhttp://localhostでログインするとXampの画面が現れましたがUbuntu9.10にアップしたら以前のようにXampの画面が現れず it works!とだけ出てきます。上記の文章を読ませていただきApach2の設定ファイルを修正すれば直るように解釈しましたが治し方がわかりません。だれか詳しい方、ご教授願えれば幸いです。
通報する 投稿者:たこたこ - 2010-01-18 09:24:30
こんにちは。
私の知りたかった事はすべてここに書かれてました。
ありがとうございます。
通報する 投稿者:シッタカ三世 - 2010-07-08 12:45:42

コメント投稿

コメント投稿フォーム
Captcha Image
※上のフォームに画像に表示された文字を入力してください。

▲ ページトップへ