WHAT'S NEW?
Loading...

Windows7にVirtualBox4でCUIなFedora18を入れてWeb開発環境を作ろう【3/3】

■Poderosaのインストール

Poderosa(ポデローサ)って知ってる?
俺かなり好き好んで使ってるターミナルソフトなんだよね。

昔はTeraTermとか使ってたけど、もうね、俺の中では古くて仕方がない。
だからPoderosa。

http://ja.poderosa.org/download/binary.html

いろいろ表示に不具合とか出ることもあるけど、トータル的に使い勝手がよいので、是非これを使ってゲストOSに接続して行きたい!!

というわけで、ダウンロードしてインストールしておいておくれ。

インストールしたら接続しよう。
特に何も設定しなければ、192.168.56.101とか192.168.56.102とかになってると思う。なってなかったら、直接VMにrootでログインして、

ifconfig p7p1

と入力しよう。表示されたinetの部分を確認だコンチキショー!!!



さて、それではPoderosaで接続できたら早速次に行ってみよう。


■yumでいろいろぶち込んでみよう

まずはyumコマンドを強化しよう。ミラーサーバをにょろっと探してくれる便利なプラグインをインストールだ。
# yum -y install yum-fastestmirror
そのあとはシステム全体をアップデートしよう。Windows Updateみたいに時間はかからないよ。だいたい10分もあれば終わるんじゃないかな?
# yum -y update
ちなみにyumと書いてヤムと呼んでる。ユムはちょっとローマ字過ぎるというがヘボン式すぎて、ちょっと抵抗あるな。

アップデートがおわったら、いろいろ便利であろう小さいツール群を一気にインストールしておこう。
だいたいいつも俺が入れてるのはこんな感じだ。
# yum -y install nkf expect lv kcc convmv cmake vim-enhanced\
        wget rpmdevtools mailx whois tcpdump bind-utils\
        p7zip p7zip-plugins tar libidn
※行の途中で改行したい時は『\』を入力すると、Enterで改行しても実行せず、次の行でプロンプトを続けることができるんだ。

■viコマンドをカラーにしたりしようぜ

さて、viエディタを多用して各種設定ファイルなどを編集するんだけど、この際viの拡張であるvimを使い、さらに表示もカラーにしてしまおうぜ、の巻。

各ユーザのホームディレクトリに、.bashrcというファイルがあるんだけど、ここに色々書いておくと、ログイン時に読み込んだっリ実行したりしてくれるので便利。

viと入力したらvimを起動し、オプションもつけてしまおう。
# cd
# vi .bashrc
最終行に以下を追記するんだ。
alias vi='vim -p'
これで、viと打ったらvimを-pオプション付けて実行してくれることになった。すごい!!
早速この.bashrcを反映させよう。
# source ~/.bashrc
これでOKだ!!!

■作ろうぜ!LAMP環境!!

ちゃらへっちゃらインストール!!


さて、実はもうこの時点でApache先生、PHPちゃん、MySQL殿をインスコする準備が整っているのは知ってたかな?俺知らなかったYO!え?まじかYO!?

ヽ(´ー`)ノ

早速行ってみよう。

一番初めにやることは、hostsファイルにホスト名というより、ブラウザでアクセスしたいドメイン名を書いておくことだ。
OSセットアップ時にtorhamzedd.comって書いたけど、あれね。
# vi /etc/hosts
127.0.0.1って書いてある行の一番最後に、『torhamzedd.com』を追記しよう。
追記したら保存だ。
これで、このLinuxは『torhamzedd.comと言えば俺のことよ!』って覚えてくれる。

ちなみにホストOSであるWindows側のhostsにも書いておかないといけないので、
テキストエディタを管理者モードで開き、『C:\windows\system32\drivers\etc\hosts』を開いたら、『192.168.56.101    torhamzedd.com』などと追記しておこう。

さて、次にHTTPDであるApacheとPHPをまとめてぶち込んでみようじゃないか。
# yum -y install httpd php php-devel \
    php-bcmath php-gd php-imap php-ldap \
    php-mbstring php-mcrypt php-mysql php-pdo php-pear \
    php-pspell php-snmp php-soap php-tidy php-xml php-xmlrpc \
    mod_ssl mod_perl mod_dav_svn
これで少なくとも最低限、PHPが動くようになった。
設定は後回しにして、次にMySQLを打ち込もう。
# yum -y install mysql-server
ふぅ、これで基本的な必須パッケージが終わりだ。
簡単だろ?今までやらなかった自分を責めよ!!ブヒ!!

戦闘力5のゴミだって思いしるの巻


早速Apache、PHP、MySQLの設定をしようじゃないか。

実はApacheは2.4で結構細かいところが変わってるんで、設定内容には注意しておくれ。
特にバーチャルホストとか、2.2とかのまま設定すると動かないんだ。
大事な話なのでもう一回いうよ。2.2のままだと動かないんだ。というわけで、2.2のことなんか忘れてしまおう。いっそ紙に書いて地面に埋めて忘れてしまおう。2.2を思い出す必要はもう、ないんだ。2.2はもう過去の遺物。そう思いたい。思って思って思いまくって生きて行きたい!!!
# vi /etc/httpd/conf/httpd.conf
ServerNametorhamzedd.com:80インストール中に決めておいたホスト名にしておこう
ServerTokensProductOnlyどこにも書かれてないので何処かに追記
TraceEnableoffこの表記もないのでどこかに追記
OptionsIncludes ExecCGI FollowSymLinksここは任意だけどいつもこうやってるんだ
AllowOverrideAll最初の設定ではAll、あと数箇所Allにしておくと楽だね
AddHandlercgi-script .cgi .plコメントを外して.plを追記だ
AddDefaultCharsetUTF-8この行は先頭に『#』を追記してコメントアウトしてしまおう

あとあれだよね、うん、みんなバーチャルホスト使うよね。だったら最初にデフォルトのところをバーチャルホストにしておこうか。

最終行辺りに以下を追記しておくと、/var/www/htmlをデフォルトのドキュメントルートにしてくれるんだな、これが。
<virtualhost *:80>
  ServerAdmin   root@localhost
  ServerName    torhamzedd.com:80
  ServerAlias   www.torhamzedd.com
  <directory /var/www/html>
    Require all granted
  </directory>
</virtualhost>

このRequire all grantedってのを入れておかないとバーチャルホストが効かないんだ。
詳しくは、是非自分で調べやがれ。

クソリンのことかーーー!!!


はい次!PHPの設定!!
vi /etc/php.ini
error_reportingE_ALL & ~E_NOTICE & ~E_STRICT
mbstring.languageJapanese
mbstring.internal_encodingUTF-8
mbstring.http_inputUTF-8
mbstring.http_outputUTF-8
mbstring.detect_orderauto
expose_phpOff
post_max_size2048M
upload_max_filesize2048M
memory_limit1024M
default_socket_timeout600
max_execution_time180
max_input_time180
date.timezoneAsia/Tokyo

だいたいいつもこんな感じで設定してるよ。2048Mのところは、VMに設定したメモリを超えないようにしておくと良いかもね。
巨大なSQLファイルをWebブラウザからアップロードして処理する、なんてときにここを超えるとエラーになるので、どうせ開発環境だし多めにしておくことをおすすめするでありますでごわす。

さて、ここいらで一旦、Apacheを起動しておこう。ついでにOS起動時に自動実行する設定も。
# systemctl start httpd.service
# systemctl enable httpd.service

ヤムチャは置いてきた。はっきりいって(ry


というわけで次はMySQLだ。正直いおう。まともに入った試しがない。
なので、途中でコンソール画面2つつかって行き来してどうにかしてる感じ。このインストール方法を本番サーバとかで1年以上試してるけど、まるで問題ないよ。だからやると良いね。頑張って着いてきてくれ。
# vi /etc/my.cnf
『symbolic-links=0』 の下に以下を追記しよう。
default-storage-engine=INNODB
skip-character-set-client-handshake
character-set-server=utf8
innodb_file_per_table
ft_min_word_len=1
追記したら保存。
さて、次はMySQL自信が使うテーブルを作成だ。
# mysql_install_db
次は、起動時にエラーが出ないように予めソケットファイルの所有権を代えるなどしておこう。
# chown -R mysql:mysql /var/lib/mysql
# restorecon -R /var/lib/mysql
# su - mysql -c "/usr/libexec/mysqld --skip-grant-tables"
さて、このままの状態でPoderosaでさらにVMへログインし、2画面状態にしよう。

新しい方のコンソール画面で以下を実行だ。
# mysql_upgrade -u root
# systemctl restart mysqld.service
上記コマンドが終わったら、元のコンソールに戻り、Ctrl+Cで終了させたあと、以下のコマンドで再起動させるんだ。
# systemctl start mysqld.service
かなりわけがわからんが、海外サイトで見つけた方法だ。ここ1年くらい、ずっとこの方法で設定してるけど、何がこうさせてるのかは、面倒くさいから調べてない。my.cnfが悪いのかな?メンドクセ!!!

さてと、無事に起動したと思うので、各種設定を続けよう。あと少しだ。
# mysql_secure_installation
『Set root password? [Y/n] 』と表示されるまでEnterでOK。この質問にもEnterして、MySQLのrootユーザのパスワードを2回入力しよう。
パスワードの入力が終わったら、あとは引き続きEnterでOK。
その後、今設定したパスワードを使用して、MySQLにログインだ。
# mysql -u root -p
MySQLの一般ユーザを作ろう。今回はfucking、パスワードはsuckingにしてみた。
mysql> grant all privileges on *.* to fucking@localhost identified by 'sucking';
mysql> exit
さて、これでMySQLにfuckingユーザでログインできるようになった。
( ´ー`)フゥー...

Apacheと同じく、OS起動時に自動起動する設定もしておこう。
systemctl enable mysqld.service

■sambaつかってWindowsとファイル共有しようズぉ!!

さてと、これでLAMP環境が出来上がったわけだ。細かい話、おまけ的なものは次回やるとして、まずはホストOSであるWindows上からゲストOSの中身を操作できるようにしておくと楽だよね。

HTMLファイルとかPHPファイルとかWindows側で編集して保存したら、Linux側ですでに反映、なんて流れが便利だもんね。

では早速行ってみよう。まずはsambaのインストールだ。
# yum -y install samba samba-common samba-client
そして設定ファイル。
# vi /etc/samba/smb.conf
global内を以下のように編集しておこう。
workgroup = WORKGROUP
hosts allow = 127. 192.168.
security = user
workgroupは、すでに今の環境で使ってるグループ名でいいよ。わからなかったらこのままで。

さて、次に、ゲストOSであるLinuxの特定のディレクトリをWindowsから見えるようにしよう。
見せたい場所を仮に、/home/apps/としてみる。当然いまこのディレクトリはないので、一旦smb.confは閉じて、以下のコマンドで共有したいディレクトリを作っておこう。
# mkdir /home/apps
# chown ogaaaan /home/apps
そしたらsmb.confを再度開き、[homes]、[orinters]なんかの設定は全部コメントアウト。


そして、新たにappsを設定しようじゃないか。
コメントアウトした下辺りに、以下のように追記してみよう。
[apps]
      comment = Applications
      path = /home/apps
      writable = yes
      guest ok = yes
      guest only = no
      create mode = 0755
      directory mode = 0755
      share modes = yes

一旦この状態で保存しよう。

次に、ホストOSであるWindowsから接続してくる際に必要なユーザを作ろう。
# smbpasswd -a ogaaaan
Linuxの一般ユーザアカウント作るときにも書いたけど、ホストOS側のWindowsで使ってるユーザと同じパスワードにしておくのがコツだ。だから同じパスワードを設定しておこう。

さて、sambaのユーザが出来たらsambaを起動しよう。
# systemctl start smb.service
# systemctl start nmb.service
ついでに自動起動設定も。
# systemctl enable smb.service
# systemctl enable nmb.service
この状態で、Windowsのフォルダで\\192.168.56.101\などを開くと、ゲストOSのappsが見えるはずだ。
試しにホストOSであるWindows上で何かファイルを作ってみよう。


そのあとゲストOS側で中身を表示してみると!


ほら、果てしなく素晴らしいだろう。

■おわり

次回はちょっとしたTIPS集なんかを色々書いてみようともうので、番外編ということで続くよ。