はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 質問掲示板

 このスレッドはクローズされています。記事の閲覧のみとなります。

 Perlのシンボリックリンクのことです
日時: 2012/11/23 12:43
名前: みかん

1.不明点・障害内容:
2.ログの有無   :
  (有:その内容) :
3.Distribution  :Centos5.9
      Version :
4.Service Name  :
      Version :
5.ネットワーク構成:
こんにちは。

こちらを参考に自サバに取り組んでいます。

質問は書きのことです、よろしくどうぞ。

CGIを実行するPerlのシンボリックリンクを貼る所まで来たのですが
# which perl
/usr/bin/perl

# ln -s /usr/bin/perl /usr/local/bin/perl

# which perl
/usr/bin/perl
になっており/usr/local/bin/perlに変更できません
どこが悪いのでしょうか?

apacheとPHPのインストールおよびapacheの設定もやっております。

メンテ

Page:  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

■ コンテンツ関連情報

 Re: Perlのシンボリックリンクのことです ( No.41 )
日時: 2012/11/24 19:41
名前: stranger
参照: http://ja.528p.com/

どこもおかしくはないと思う
CentOS 5.8でしょうから
perlのrpmパッケージはi386でOK
CentOS 5.8で i686のパッケージがあるのは
opensslなど一部のパッケージのみ
ほとんどが i386パッケージです

test.cgiを
windowsからアップデートするのでなく
CentOSで作成してみる
viエディタが使いにくいならnanoエディタを使ってみる
(たぶんUTF-8で保存されるので charsetの部分をUTF-8に変更)
そのくらいしてみたら
メンテ
 Re: Perlのシンボリックリンクのことです ( No.42 )
日時: 2012/11/24 19:53
名前: みかん

stranger、さんへ

手順1
CentOSのviにコピーしましcharsetの部分をUTF-8に変更。

#!/usr/local/bin/perl
print "Content-type: text/html¥n¥n";
print "<html>¥n";
print "<head>¥n";
print "<META http-equiv=¥"Content-Type¥" content=¥"text/html; charset=UTF-8¥">";
print "<title>テストページ</title>¥n";
print "</head>¥n";
print "<body>¥n";
print "CGI表示テスト¥n";
print "</body>¥n";
print "</html>¥n";


手順2
chmod 750 /var/www/cgi-bin/test.cgi
chown apache:apache /var/www/cgi-bin/test.cgi

ブラウザで見るとやっぱりエラーでした。

メンテ
 Re: Perlのシンボリックリンクのことです ( No.43 )
日時: 2012/11/24 21:11
名前: しずくちゃん

私はPuttyでサーバーへ接続して、viを使ってテキストをペイストしますが、
ここの掲示板のスクリプトをコピー&ペイストすると、なぜだか知りませんが、
円マーク(¥)が逆スラッシュにならないです。

# cat test.cgi
とかやって、コンソール上の表示で(目視で)逆スラッシュになってるか確認した方がいいです。
(見た目円マークだったら逆スラッシュに直さないとだめです)
掲示板に貼り付けるとどちらも円マークになるので区別がつきません。
いちおうご注意を、という感じです。

16進ダンプするとこんな感じです
0000000  23  21  2f  75  73  72  2f  6c  6f  63  61  6c  2f  62  69  6e
          #   !   /   u   s   r   /   l   o   c   a   l   /   b   i   n
0000020  2f  70  65  72  6c  0a  70  72  69  6e  74  20  22  43  6f  6e
          /   p   e   r   l  ¥n   p   r   i   n   t       "   C   o   n
0000040  74  65  6e  74  2d  74  79  70  65  3a  20  74  65  78  74  2f
          t   e   n   t   -   t   y   p   e   :       t   e   x   t   /
0000060  68  74  6d  6c  c2  a5  6e  c2  a5  6e  22  3b  0a  70  72  69
          h   t   m   l 302 245   n 302 245   n   "   ;  ¥n   p   r   i
0000100  6e  74  20  22  3c  68  74  6d  6c  3e  c2  a5  6e  22  3b  0a
          n   t       "   <   h   t   m   l   > 302 245   n   "   ;  ¥n
0000120  70  72  69  6e  74  20  22  3c  68  65  61  64  3e  c2  a5  6e
          p   r   i   n   t       "   <   h   e   a   d   > 302 245   n

追記:
今調べたら、(16進で)c2 a5 になってる部分はUTF-8の円マークのコードのようです。
私の環境が特別なだけかもしれないので、ご参考までに。
メンテ
 Re: Perlのシンボリックリンクのことです ( No.44 )
日時: 2012/11/25 10:39
名前: stranger
参照: http://ja.528p.com/

No.42 の表示をそのままCentOSのクライアントで張り付けると
perl test.cgiを実行した場合

Bareword found where operator expected at test.cgi line 5, near ""<META http-equiv=¥"Content"
 (Missing operator before Content?)
syntax error at test.cgi line 5, near ""<META http-equiv=¥"Content"
Unrecognized character ¥xC2 in column 40 at test.cgi line 5.

のようなエラーを出します
0xC2 は U+00A5 YEN SIGN でキーボードの円マークで入力され
windowsで表示される 円マークとは別物と思われる

perlはデフォルトでパスが通っているので
test.cgiを作成したディレクトリでそのまま
perl test.cgi
を実行して html文が表示できるようになってから
apacheのディレクトリに移動して、必要な設定をすれば良いです

perl test.cgiに失敗したら apacheで表示できないと思う
メンテ
 Re: Perlのシンボリックリンクのことです ( No.45 )
日時: 2012/11/25 10:43
名前: しずくちゃん

なんかの理由でperlが動かないという感じですけど、以下をやってみてください。

[root@xxxxxxx ~]# cd /var/www/cgi-bin/
で /var/www/cgi-bin/へ移動

[root@xxxxxxx cgi-bin]# echo "print ¥"hoge¥n¥";" > test2.cgi
で test2.cgi というスクリプト作成(print文しかないです。¥は逆スラッシュ)

[root@xxxxxxx cgi-bin]# cat test2.cgi
で中身の確認
print "hoge¥n";
のように表示されればOKです。(¥は逆スラッシュ)

[root@xxxxxxx cgi-bin]# perl test2.cgi
でtest2.cgiを実行

hoge
と表示されればOKです。


>もう一度、最初からcentosのインストールをしてみたらどうでしょうね?
>どこかがおかしくなってしまった?
>
>意味ないですか? 


面倒でなければインストールし直した方がいいかもです。
(上書きじゃなくて全部消してインストール)
ただここまで追求しているから、後学のために、不具合の原因だけでも知りたいですが・・・

5.x系のバージョンは5.8で終わってるような感じ(たぶん)なので、
スペック的に問題がなければ、CentOS 6.3 かなんかの6.xの最新版を入れた方がいいと思います。

OSをインストールしたら、まず最初に yum update でパッケージすべてを最新版にしてから
作業を始めた方がいいです。インストール直後が最新とは限りません。

ここのサイトはEUC-JPで解説されている部分もあるので、デフォルトのUTF-8でシステムの
文字コードを使う場合には注意と言うか、配慮が必要です。

以上は私の意見でして、人によって違うかもです(w
メンテ

Page:  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.