無料ホスティングのTiny Tiny RSS

画像

この記事では、Google Readerの閉鎖後の生活に関する一連の記事を継続し、hostinger.ruでTiny Tiny RSSをセットアップした経験、遭遇した障害、そしてもちろんそれらを克服する方法について説明します。 写真、ソースコード、コメント付きの詳細なステップバイステップの説明があります。



この記事は、主にHostingerの欠点とそれらを克服する方法を説明しているため、ホスティング広告と見なすべきではありません。





hostinger.ruを選ぶ理由



すぐに予約します。このサービスとは一切関係ありません。無料ホスティングは確かな問題であり、常に有料のものに切り替えることをお勧めします。 私は完全なコントロールが常に優れていることに同意しますが、無料は常に魅力的ですよね?



Google Readerの代替品を見つけるまでの道のりは非常に長く、おそらくまだ完全ではありませんでした。 最も機能的な代替手段の1つとして、私はすぐにTiny Tiny RSSに落ち着きましたが、ホスティングをいじくり回さなければなりませんでした。 最初はOpenShift用のTiny Tiny RSSカートリッジを試しましたが、パフォーマンスが非常に低いため、使用できませんでした。 次に、HerokuとTiny Tiny RSSを「ワンクリックで」インストールするためのスクリプトがありました。正常に実行するには、2、3のコミットを送信する必要がありました。 RSSフィードはHeroku Tiny Tinyで正常に機能しましたが、データベース内の10,000エントリという制限はすぐに終了し、月額9ドルで増やすことができます。 これは、VPS / VDSをレンタルできる金額です。



結局、私は有料ホスティングに切り替える準備ができていましたが、Hostingerに出会いました。 このサービスの無料料金は、多くの有料ホスティングサービスよりも制限が少ないため、試してみることにしました。 もちろん、Hostingerの安定性には多くの要望がありますが、バックアップを取得してアプリケーションをどこにでも展開する機会が常にあり、魅力的な価格設定ポリシー(無料)がチャンスをもたらしました。



それでは始めましょう...



ステージ1:Tiny Tiny RSSをインストールする



hostinger.ruでのアカウントの確立。 hostinger.ruに移動し、「今すぐ注文」をクリックします。



確認メール。



無料レートを注文してください。



<name> .p.htという形式の3レベルドメインと、このドメインの個別のパスワードを選択します。 しばらくすると、同様の画像が表示されます。

画像



[選択]をクリックします。



「ホスティングを使用する主な目標は何ですか?」という質問に答えてください。 私はこのように答えました。 私は初心者です:)」。



サイトのコントロールパネルに移動します。 主な仕事はそれで実行されます:

画像



まず、FTPアクセスを構成します。 「Free Account Activated」という件名の手紙には、接続のためのデータが来るはずです。 ドメインからのパスワードを使用します。これは、「アカウント作成」の文字でも入力されているはずです。 FTPにアクセスするには、Total Commanderを使用し、Webブラウザーなどのパッシブ転送モードをオンにし、30秒ごとにNOOPコマンドを送信しました。 そのような設定は、私にとって最も安定しているように見えました。

画像



ftpに移動してみてください。default.phpはそこにあるはずです



アプリケーションのサブディレクトリとサブドメインを作成しましょう。 コントロールパネルで[ サブドメイン ]に移動し、ディレクトリとサブドメインの名前(たとえば、 「rss」)を入力すると、 rss。<name> .p.htのようにリーダーを開くことができます。

画像



次のステップは、データベースを作成することです。 MySQLデータベースアイテムを開きます。 最初の2つのフィールドに「ttrss」と入力し、パスワードとしてFTPと同じパスワードを使用します。

画像



作成をクリックします。

画像



いよいよTiny Tiny RSSをダウンロードします。 tt-rss.orgにアクセスすると、ページ下部のリンクが「Download tarball、v1.9」になります。



ダウンロードが完了したら、ftpを開いてpublic_htmlフォルダーにTiny-Tiny-RSS-1.9.tar.gzを入力しrssフォルダーを削除します(コントロールパネルの[ファイルマネージャー]を使用して、ファイルをより速くアップロードできます)。



コントロールパネルで「SSHコンソール」を開き、次のコマンドを順番に入力します。

cd public_html tar zxfv Tiny-Tiny-RSS-1.9.tar.gz mv Tiny-Tiny-RSS-1.9 rss
      
      







FTP経由でTiny-Tiny-RSS-1.9.tar.gzを削除します。もっと必要です。



rss。<name> .p.htリーダー開くと、Tiny TinyRSS構成ページが表示されます。 データベースのパラメーターを入力します。 「テスト構成」をクリックします。

画像



検証が成功したら、「データベースの初期化」をクリックしてから、「構成の保存」をクリックします。



実際、これで予備セットアップは終了しました。



「admin」ログインとパスワード「password」を使用してリーダーにログインできます(すぐに変更することをお勧めします)。



ステージ2:ロギングのセットアップ



特定のファイルにログを出力するようにサーバーを構成します。 これを行うには、「u466982574」をユーザー名(コントロールパネルに表示)で置き換えた後、次のコマンドをファイルpublic_html / rss / .htaccessに追加します

 # Increase execution time php_value max_execution_time 300 # PHP error handling for development servers # http://perishablepress.com/advanced-php-error-handling-via-htaccess/ php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on php_flag log_errors on php_flag ignore_repeated_errors off php_flag ignore_repeated_source off php_flag report_memleaks on php_flag track_errors on php_value docref_root 0 php_value docref_ext 0 php_value error_log /home/u466982574/public_html/PHP_errors.log php_value error_reporting -1 php_value log_errors_max_len 0 <Files PHP_errors.log> Order allow,deny Deny from all Satisfy All </Files>
      
      







このファイルは、PHPがすべてのエラーをファイルに書き込むことに加えて、スクリプトの最大実行時間を増加させます(これがHostingerに役立つかどうかはわかりませんが、明らかに不要です)



public_html / rss / config.phpを開き、次の行を置き換えます

 define('LOG_DESTINATION', 'sql');
      
      







 define('LOG_DESTINATION', '');
      
      





これにより、Tiny TinyRSSはデータベースではなく、前の段落のファイルにエラーを書き込みます。 実際のところ、Hostingerでは、少なくとも私にとって共通の問題は、データベースにアクセスできないことです。この場合、エラーメッセージは単に失われます。



ステップ3:自動更新



リーダーの自動更新を設定する必要があり、問題はすでにここから始まっています。 Hostingerは、CRONタスク、つまり、定期的な間隔で任意のスクリプトを実行する機能をサポートしています。



CRONタスクとパラメーターupdate.php



Tiny TinyRSSでは、更新するには--feedパラメーターを指定してupdate.phpスクリプトを呼び出す必要がありますが、HostingerはCRONタスクでパラメーターを渡すことを禁止しています。 そのため、 update.phpを呼び出して必要なパラメーターを渡すスクリプトを作成する必要があります。 このスクリプトupdate_with_params.phpを呼び出します。

 #!/usr/bin/env php <?php ob_implicit_flush(true); echo "PHP version: " . phpversion() . PHP_EOL; echo "Max execution time: ".ini_get("max_execution_time")." seconds" . PHP_EOL; define( 'UPDATE_IMPLICIT_PARAMS', 'feeds' ); require_once "update.php"; ?>
      
      







また、 update.phpを変更し、次のコードを追加する必要があります。

 if (defined('UPDATE_IMPLICIT_PARAMS')) { $impl_params = array_map("trim", explode(",", UPDATE_IMPLICIT_PARAMS)); if( !is_array($options) ) $options=array(); $options = array_merge( $options, array_fill_keys($impl_params, '')); }
      
      







行の後:

 $options = getopt("", $longopts);
      
      







CRONタスクとPHPバージョン



HostingerのCRONタスクの2番目の問題は、PHP 5.2で呼び出されることであり、Tiny TinyRSSではPHP 5.3以上が必要です。 この問題を解決するために、ブラウザのようにupdate_with_params.phpをリモートで呼び出す新しいスクリプトを作成し、 update_external.phpを呼び出します。 rss.name.p.htを読者のアドレスに置き換えます。

 #!/usr/bin/env php <?php echo "PHP version: " . phpversion() . PHP_EOL; echo "Max execution time: ".ini_get("max_execution_time")." seconds" . PHP_EOL; $url = "http://rss.name.p.ht/update_with_params.php"; $ch = curl_init($url); try { if ( $ch === FALSE ) throw new Exception('failed to initialize'); $startTime = microtime(true); $result = curl_exec($ch); echo 'Execution time '. (microtime(true) - $startTime) . ' sec' . PHP_EOL; if (FALSE === $result ) throw new Exception('Curl error ' . curl_errno($ch) . ' , ' . curl_error($ch) ); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE ); if ( $code != 200 ) throw new Exception( "Page returned error code $code" ); } catch(Exception $e) { trigger_error( sprintf('ERROR #%d: %s\n', $e->getCode(), $e->getMessage()), E_USER_ERROR ); } curl_close($ch); ?>
      
      







CRONタスクのセットアップ



スクリプトを自動的に実行するように構成します。 これを行うには、コントロールパネルの「 Cron-Tasks 」アイテムに移動し、図のように構成します。

画像



作成をクリックします



これで、更新リーダースクリプトが5分ごとに呼び出されます。 コントロールパネルの「 Cron-Tasks Results 」アイテムで彼の作業のログを見つけることができます。

画像



それだけです。

画像



デブリーフィング



現時点では、HostingerでTiny Tiny RSSを使用しており、かなり満足していますが、将来現れる可能性のあるいくつかの潜在的な問題があります。





おわりに



この記事では、HostingerでのTiny Tiny RSSのインストールについて説明しましたが、そのようなソリューションを使用する可能性を公平に評価しようとしました。 私の観点からは、このソリューションの使用は非常に可能です。特にその主な利点を考慮して、無料です。 しかし、もちろん、いつものように決定するのは良いことです。試してみるために、最初から設定パスを実行する必要はなくなりました。



スクリプトまたは設定を改善する方法を知っている場合は、コメントでそれらを示してください。 また、マイナスを入力した場合は、コメントに理由を記入してください。



All Articles