スポンサードリンク

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. これで無事接続できれば、ログイン画面が表示される。

以上