スポンサードリンク

2012年4月8日日曜日

Netbeansからサーバへファイルをアップロードする方法

Netbeansは本当に便利だ。
PHPのプロジェクトをFTPでアップロードすることもできる。

その備忘録。

FTPは、安全性を考慮して、SFTPを使用する。

<設定>

1.プロジェクトを選択し、右クリックメニューからプロパティを開く。

2.実行構成を選択し、管理ボタンを押す。
 ファイルのアップロードタイミングは、手動がオススメ。
3.ホスト名・ユーザ名・パスワード、非公開鍵ファイル(秘密鍵)を適切に入力。
初期ディレクトリも入力する。


5. 接続テストを押して、以下画面が表示されればOK!



<アップロードする方法>
1. ソースファイルを選択し、右クリックメニューからアップロードを選択する。



2. 以下画面の了解ボタンを押す。
 Netbeansのログ画面に転送された情報が表示されるので、問題なければOK。



以上

Netbeans(7.0.1)でBasic認証のPHPが動作しない!?

NetbeansでPHPを作成するのは非常に楽ってことに最近感じています。

でも!!

今まで動作していたBasic認証のコードを、
そのままNetbeansが自動生成したソースに移植しても動作しなくなってしまった。

そのことを解決したときの備忘録。

---
NetBeansで新規PHPを作成した場合、
以下のようなソースが自動で作成される。

//---------------------------------------------------
//Netbeans自動生成ソース抜粋
//---------------------------------------------------

<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        // put your code here
        //ここに普通はPHPのコードを記載する
        ?>
    </body>
</html>

上記朱記の箇所に、以下のソース抜粋(NG)のようにコード記載したら
Basic認証できなくなってしまった。
(Basic認証の入力画面が表示されない!)

//---------------------------------------------------
//Basic認証コード追加ソース抜粋(NG)
//---------------------------------------------------
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        // put your code here
        if ( !isset($_SERVER["PHP_AUTH_USER"])
        || !($_SERVER["PHP_AUTH_USER"] == "hogehoge"
        && $_SERVER["PHP_AUTH_PW"] == "hogehogepasswords") )
        {
                header("WWW-Authenticate: Basic realm=\"Welcome!!  \"");
                header("HTTP/1.0 401 Unauthorized");

                echo "ユーザまたはパスワードが不正です。\n";
                echo "<br>";
                echo "サイトアクセスしたい場合は、こちらへ連絡ください。\n";
                echo "<br>";
                echo "hogehoge@gmail.com\n";
                exit;
        }

        include("/var/www/php-bin/welcome.php");   

        ?>
    </body>
</html>

以下のようにしたらうまく動作するようになった。
index.phpとしているのに、"DOCTYPE html"とHTML宣言しているからかな。
理由はよくわからないけど、これで動作するようになったからOK!かな。

//---------------------------------------------------
//Basic認証コード追加ソース抜粋(OK)
//---------------------------------------------------
<?php
        if ( !isset($_SERVER["PHP_AUTH_USER"])
        || !($_SERVER["PHP_AUTH_USER"] == "hogehoge"
        && $_SERVER["PHP_AUTH_PW"] == "hogehogepasswords") )
        {
                header("WWW-Authenticate: Basic realm=\"Welcome!!  \"");
                header("HTTP/1.0 401 Unauthorized");

                echo "ユーザまたはパスワードが不正です。\n";
                echo "<br>";
                echo "サイトアクセスしたい場合は、こちらへ連絡ください。\n";
                echo "<br>";
                echo "hogehoge@gmail.com\n";
                exit;
        }

        include("/var/www/php-bin/welcome.php");        
?>

<!--To change this template, choose Tools | Templates
and open the template in the editor.-->

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        // put your code here
        ?>
    </body>
</html>


CentOS6
Netbeas7.0.1
以上

2012年4月1日日曜日

MacからVNCサーバにSSH経由で安全に外部接続する方法

自宅サーバ(CentOS6)のVNCサーバにMacからSSH経由で安全に外部接続する方法。

※
外出先から自宅サーバにSSH経由で接続することができることが前提。
安全のためSSH2による公開鍵でSSH接続していることとする。

<手順>
1. Macでターミナルを起動する。

2.SSH接続する
※公開鍵認証で安全に接続していること

3.vncサーバの待ち受けポートを確認する。
  VNCサーバ設定で1番で指定ユーザが起動するように設定しているので
 5901となるはず。

$ps -aux | grep vnc
~ rfbport 5901 ~
  5901番で待ち受けていることを確認

4. Macのターミナルをもう一つ起動して、以下コマンドを入力してENTER
macbookpro:~ shuji$ ssh -N www.hoge.com -L 1234:www.hoge.com:5901

5. MacでCommand + Kで「サーバへ接続」を起動し
    サーバアドレス入力欄にvnc://localhost:1234と入力し、接続ボタンを押す。
 (SSHトンネリングで1234ポート経由で安全にVNCサーバへ接続できる。)

6.  VNCサーバ接続時のパスワードを入力する

7. これで無事接続できれば、ログイン画面が表示される。

以上




2012年3月31日土曜日

PC再起動後もVNCサーバに接続する為の設定

Linuxサーバは家のどこかに置いといて、日常的にMacからリモートでアクセスしたい!
そんなことを叶えてくれるのが、「VNC」サーバ・クライアントソフトだ!
(このとき、LinuxサーバがVNCサーバ、MacがVNCクライアントとなる。)

単に、CentOS6ではyumコマンドでVNCインストールするだけなので、
簡単にこの環境は構築できる。
ソフトインストールして、ファイアウォールでポート例外許可して、
毎回起動時にVNCサーバが自動起動するようにするだけなので。

だが、ちょっと細工をしないと、CentOS6再起動後は
コンソールで一度ログインしないとMac(VNCクライアント)から
VNCサーバに接続できなくなる。

そこでその設定・環境構築の備忘録。

1.rootになる
$su -

2.VNCのインストール
#yum list installed | grep vnc

3.VNCがインストールされていない場合
#yum -y install vnc vnc-server

4. /etc/sysconfig/vncserversを編集する
#vi /etc/sysconfig/vncservers

#以下を追記する
VNCSERVERS="1:ユーザ"
VNCSERVERARGS[1]="-geometry 1680x1050 -nolisten tcp"

5.4で指定したユーザのVNCパスワードを作成する
#su - "ユーザ"
$vncpasswd /etc/passwd_vnc
Passwd:
Veryfy:

6.5で作成したパスワードのアクセス権限を変更する
#chmod 644 /etc/passwd_vnc

7. /home/ユーザ/.vnc/xstartupを編集する
#vi /home/ユーザ/.vnc/xstartup

以下の部分をコメントアウトする
xterm -geometry ....
twm &

#xterm -geometry
#twm &
gnome-session &

8.vncサーバを再起動する
#/etc/rc.d/init.d/vncserver restart

9.vncサーバをOS起動時に自動起動させる
#chkconfig vncserver on


でも、Macから接続するときだけVNCサーバを起動させたい
そういうときは、「xinetd」をインストール+稼働させなければいけない。

10. xinetdをインストールする
#yum -y install xinetd

11./etc/servicesを編集する
#vi /etc/services

元々以下で設定されているものを変更する
[変更前]
vnc-server 5900/tcp
vnc-server 5900/udp

[変更後]
vnc 5900/tcp
vnc 5900/udp

12./etc/xinetd.d/下に11で名称変更したvncに合わせて起動ファイルを作成する
#vi /etc/xinetd.d/vnc

service vnc
{
    disable = no
    socket_type = stream
    wait = no
    user = nobody
    server = /usr/bin/Xvnc
    server_args = -inetd -query 192.168.1.20 -once -geometry 1650x1050 -depth 24 --PasswordFile=/etc/passwd_vnc
   log_on_failure += USERID
}

13. Mac(VNCクライアント)からグラフィカルログインできるようにXDMCPを許可する設定を追加。
#vi /etc/gdm/custom.conf

[xdmcp]
Enable=true

14. xinetdを再起動する
#/etc/rc.d/init.d/xinetd restart

15.OS再起動時に自動起動するようにする
#chkconfig xinetd on



2012年2月22日水曜日

ホームページのアイコン


ホームページにアイコンが表示されいてるサイトがほとんどなので、
自分のホームページにもアイコンを表示してみようと思う。
その備忘録。



HTMLに以下を記載することでよいようだ。

<HEAD>
<LINK rel="ICON" href="AAAA.ico">
</HEAD>

AAAAは実際に表示したアイコンファイル名称。

以上