设为首页 收藏本站
查看: 606|回复: 0

[经验分享] UbuntuでApache+PHP+MySQLの開発!

[复制链接]

尚未签到

发表于 2015-8-3 13:02:46 | 显示全部楼层 |阅读模式
  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
  で出来ます。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-93725-1-1.html 上篇帖子: 如何设置APACHE让他不允许别人列出文件列表来? 下篇帖子: Apache Sling
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表