海の近くに住みたい
話題:Webプログラミングとか
公開日時: 2018年03月13日 18時25分51秒
Web制作環境を作らないまま何ヶ月も放置して來た。以前はノートPCで構築してゐたが、ノートの液晶が死んでしばらくしてサブPCを使ふやうになり、ノートは使はなくなつた。サブの方に新たに環境構築せねばならなかつたが、去年は讀書に膨大な時間を奪はれることになり、なかなかやる氣にもなれず放置し續けた。HTMLのみのページはテキストエディタで作つてFTPでUPするだけだから困らなかつたが、PerlやPHPで作るWebアプリケーションはPerlやPHPも當然必要だしテスト環境も必要だ。この半年くらゐ、Webプログラミングは一切やらなかつたから特に必要に迫られることもなく放置できた。これを今日やることにした。まづはレンタルサーバーの管理ページで現状の色んなやつのバージョンを調べてみた。できるだけ本番と同じ環境にした方が良いに決まつてゐる。ノートPCでは恐ろしく古いバージョンを使つてゐた。WindowsXPに對應しなくなつたりして、既にレンタルサーバーとの間でバージョンが大きく違つてゐるものもあつた。特に問題は起きなかつたが、今後はできるだけ本番環境に追從するやうにしようと思ふ。で、現在のレンタルサーバーではPHP7.1.11、Perl5.14.4、MySQL5.5といふことになつてゐる。XAMPPで適當にサクッとやつてしまへば良いと思つてゐたが、いつの間にかXAMPPのデータベースがMariaDBといふやつに變つてゐた。MySQLと高い互換性があるやうだが、今後は互換性を維持できなくなるかもしれないやうな空氣を感じる。レンタルサーバーの方に合はせてMySQLを入れておきたい。といふことは個別に色々入れることになる。サーバーはApache最新版で良い。PHPは7.2ではなく7.1をダウンロード。ActivePerlはWindowsの32bit版は5.22.4しかダウンロードできなかつた。もつと眞劍に探せば古いバージョンもあるのかもしれないが、まあ特に問題無いだらう。phpMyAdminも最新版で良いだらう。ApacheとPHPとActivePerlとphpMyAdminをダウンロードし、VCのランタイムをまづインストール。
最初にApacheを入れる。この段階からいきなり苦戰することになる。ZIPを解凍し、C:\Apache24に移動し、httpd.confを適當に書き換へる。これだけで終るはずがまさかの苦戰。DocumentRootをNAS上のフォルダにしようとしたんだが、それが大變だつた。DocumentRootをM:/dogoo/public_htmlとすれば良いと思つてゐたのだが、これが全然ダメ。まだ買つてゐない新PCからもWeb用ファイルを扱ひたいので、このPC内に置くわけにはいかない。共有できる外部ストレージにDocumentRootをどうしても設定したい。調べに調べて數時間消費し、DocumentRootを\\\\192.168.10.2\usbdisk1\dogoo\public_htmlにして無事に動いた。NAS本體はLで、LにUSBで繋いだ外付けHDDがMになつてゐる。Mはネットワーク上では別ドライブみたいになつてゐるが實際はLのサブフォルダみたいな扱ひだ。IPアドレスは本體のLの方。MにはIPアドレスは無い。usbdisk1といふフォルダがMドライブといふことだ。ネットワークドライブをDocumentRootに指定するためにはIPアドレスで指定する必要があるらしい。まあとにかく、狙ひ通りにできて良かつた。ついでにhttpd.confをPerlのCGIやPHPを使へるやうに先に書き換へておいた。まだこれからPHPやCGIやMySQLで苦戰すると思ふとウンコが漏れさうだ。今日中に終る氣がしない。といふか終るまで氣力が續く氣がしない。案外この後は順調に行くかもしれないが。
しばらく休憩してから續き。次はPHPだ。ZIPを解凍してC:\phpに置く。php.ini-developmentをphp.iniにリネーム。php.iniの細かい設定は取り敢へず放置。phpinfo();が表示されることだけ確認。續いてPerlだ。そのままインストールするとPerlのパスがC:\perl\bin\perlになつてしまふ。レンタルサーバーでは/usr/local/bin/perlか/usr/bin/perlだ。今まで/usr/local/bin/perlでやつて來たので、そのままでできるやうにしたい。なのでインストール先をC:\usr\localにした。ここまでは良かつた。また苦戰ですよ。コマンドプロンプトでperl -vとやつてもエラーが出る。パスが通つてゐない。インストール時にちやんと設定したはずだ。仕方が無いので自力で環境變數のPathを修正した。しかしそれでもダメだ。ググりまくつても全然解決しない。結局、PCを再起動したら動いた。アホか。初歩的なやつだな。だがここで終りではない。ちやんとCGIが動くか確認しようと思つてPC内の犬土偶日記にアクセスしたらInternalServerError500だ。何故だ。そのエラーが出るといふことはPerl自體は動いてゐるはず。まさか古いバージョンのPerlなら動くが今のPerlではもう動かないプログラムなのか。作つたのは10年以上前だしな。でもレンタルサーバー上では動いてゐる。レンタルサーバー上のPerlは5.14.4。今日入れたのは5.22.4。まさかこの間に大きな仕樣變更があつたんだらうか。Perlは後方互換性を保つ方針だつたと思ふんだが。別のCGIにもアクセスしてみた。Debugの掲示板。これもエラー。をかしいぞ。何も動かない可能性がある。取り敢へずContent-typeヘッダと定番のHello worldを出力するだけのプログラムを書いて實行してみた。無事に表示された。といふことはやはり俺が過去に作つたプログラムが動かないといふことだ。Apacheのエラーログを見てみた。正規表現の中で中括弧の左側のやつをエスケープしろといふやうなのがあつたが、それのせゐではないやうだ。そこも修正せねばならんやうだが。他にはjcode.plに關する部分が惡いらしい。俺のプログラムではなくjcode.plに原因があるやうだ。ていふか、jcode.plつていつの時代だよ。Jcode.pmですらない。Jcode.pmは最初から入つてゐるモジュールではないやうで、今日インストールした中には見當らない。もう今からならEncode.pmを使ふべきだらう。jcode.plで使つてゐるサブルーチンはconvertのみだと思ふ。Encode.pmにconvertがそのまま殘つてゐれば良いなと思つたが、無いやうだ。Jcode.pmを使へば割と樂に修正できるが、Encode.pmにするとconvertをfrom_toに變へる必要がある。引數の順序も違ふし、テキストエディタの置換機能でサクッと一發變換といふわけにはいかない。しかし今さらJcode.pmを入れるのもあれだし。といふことで、取り敢へずjcode.plのエラーを出してゐる部分だけ修正して凌いでみた。define (%hash)みたいなのがダメらしい。ライブラリの最後の方にさういふ記述があるサブルーチンが2つあつたので、サブルーチンごとコメントアウトしてみた。どうせ使つてゐないサブルーチンだからどうでもいいだらう。で、無事に動いた。レンタルサーバー上ではどうなつてゐるんだらう。まだギリギリ5.14なら動くんだらうか。いづれダメになるのは確實だから、jcode.plを使はないやうにプログラムを修正すべきだらう。實は色々と脆弱性も放置してゐたりバグもあつたりするし、文字コードもUTF-8に統一したいといふのもある。ここは思ひ切つて激しく改造してしまふべきかもしれない。それはまた今度。とにかく、PHPもPerlも動くやうになつた。次はMySQLだ。飯を食つてから。
MySQL5.5を入れるつもりだつたが、見當たらなかつたので5.7.20を入れた。まあ特に問題無いだらう。取り敢へずこれは問題無ささう。續いてphpMyAdmin。解凍してApacheのDocumentRootへブチ込むだけ。ディレクトリ名はphpMyAdmin477にしておいた。MySQLとApacheを起動してブラウザでlocalhost/phpMyAdmin477/にアクセス。MySQLのユーザー名とパスワードを入力。無事にログインできた。今のところ特に問題は無ささう。今日のところはこれで良いかな。
(1.3)愛のバクダン、I'm in love?、パーフェクトライフ、GO FURTHER、イカロス、ONE FOR THE ROAD、LOVE PHANTOM、Trinity、野性のENERGY、勝手にしやがれ、ギリギリchop、SURFIN' 3000GTR、ultra soul 2011、今夜月の見える丘に、SUPER LOVE SONG。
ギター練習45分、スクワット300囘、ハギ300囘、讀書14ページ。
話題:Webプログラミングとか
公開日時 | 2018年03月13日 18時25分51秒 |
---|---|
本文文字数 | 3851文字 (タグ込み) |
URL | https://orca.xii.jp/br/diary/diary.cgi?id=dogoo;date=20180108 |
コメントはありません。