インストールするには、以下を行う必要があります。
- ファームウェアV1を搭載したZyxel Keeneticファミリーのルーター
- USBフラッシュドライブまたはUSBハードドライブ(推奨)
ファームウェアの詳細。 Keeneticルーターには、それぞれ2つのシリーズのファームウェアV1とV2があります。 最初のシリーズのファームウェアは、外部USBドライブ/フラッシュドライブにパッケージをインストールできるという点で注目に値します。 そして、これはルーター自体のファームウェアなしで実装されます! ただし、第2世代のKeeneticルーター(Keenetic II / Keenetic Giga II / Keenetic Ultra)の場合、V1ファームウェアは非公式です(技術的なサポートは提供されません)。 私の場合、V1ファームウェアでフラッシュされたKeenetic Giga IIルーターがありました。 ルーターの第2世代のファームウェアV1はここから入手できます (最新の日付までにナビゲートします)。 ファームウェアプロセスは非常に簡単です。このため、ルーターのシステム設定で「システムファイル管理」に移動し、ダウンロードした
firmware
ファイルで
firmware
ファイルを置き換える必要があります。
次のステップ-必要なパッケージのインストールに進みましょう。 最初にopkgパッケージマネージャーをインストールする必要があります。 私はこのプロセスを考慮しません、なぜなら これらのパッケージの組み立てに携わっている著者のウェブサイトに十分な詳細が記載されています。
そのため、opkgのインストール後、必要なパッケージのインストールに直接進みます。 sshを介してルーターに接続し、次のコマンドを実行します。
opkg install libiconv-full libmysqlclient libncurses libncursesw libopenssl libpcre libreadline libxml2 lighttpd lighttpd-mod-fastcgi mysql-server php5 php5-cgi php5-mod-ctype php5-mod-dom php5-mod-hash php5-mod-iconv php5-mod-json php5-mod-mbstring php5-mod-mysql php5-mod-session uclibcxx mysql-server php5-mod-json php5-mod-mysql php5-mod-mbstring php5-mod-hash php5-mod-ctype php5-mod-iconv php5-mod-dom
次に、それらを構成します。 構成するには、USBフラッシュドライブ/ディスク上の構成ファイルを編集する必要があります。 WinSCPプログラムを使用してこれを行うと便利です(接続設定でSCPプロトコルを選択します)。
lighttpdサーバーをセットアップします。 ファイル
/media/DISK_A1/system/etc/lighttpd/lighttpd.conf
fastcgiモジュール
/media/DISK_A1/system/etc/lighttpd/lighttpd.conf
アクティブにします。このため、次の行のコメントを解除します。
server.modules = ( "mod_fastcgi" )
index.phpをインデックスファイル名のリストに追加します。
index-file.names = ( "index.html", "default.html", "index.htm", "default.htm", "index.php" )
さらに、MIMEタイプsvgを追加して、tt-rssインターフェイスにアイコンを正しく表示します。
mimetype.assign = ( ... ".xml" => "text/xml", ".svg" => "image/svg+xml" )
次の行のコメントを解除します。
fastcgi.server = ( ".php" => ( "localhost" => ( "min-procs" => 1, "max-procs" => 1, "max-load-per-proc" => 4, "socket" => "/media/DISK_A1/system/tmp/php-fastcgi.socket", "bin-path" => "/media/DISK_A1/system/usr/bin/php-fcgi" ) ) )
phpスクリプトの実行時間の制限を削除します。このため、
/media/DISK_A1/system/etc/php.ini
を編集します。パラメーター
max_execution_time
変更し、値
0
設定します。
http、mysqlサーバー、cronの自動読み込みを設定します。これらは、フィードを自動的に更新するために必要です。 これは、
/media/disk_a1/system/etc/init.d/
フォルダー内のスクリプトの名前を変更する
/media/disk_a1/system/etc/init.d/
ます。 これを行うには、次のコマンドを実行します。
mv /media/DISK_A1/system/etc/init.d/K02cron /media/DISK_A1/system/etc/init.d/S02cron mv /media/DISK_A1/system/etc/init.d/K27mysqld /media/DISK_A1/system/etc/init.d/S27mysqld mv /media/DISK_A1/system/etc/init.d/K50lighttpd /media/DISK_A1/system/etc/init.d/S50lighttpd
公式Webサイトからtarballをダウンロードします 。
/media/DISK_A1/system/www/
フォルダーにダウンロードします。 これは、たとえば、同じWinSCPを使用して実行できます。 開梱するには、次を実行します。
cd /media/DISK_A1/system/www/ tar -xvzf ./Tiny-Tiny-RSS-1.8.tar.gz rm ./Tiny-Tiny-RSS-1.8.tar.gz mv /media/DISK_A1/system/www/Tiny-Tiny-RSS-1.8/ /media/DISK_A1/system/www/tt-rss
ルーターを再起動して、すべてのサービスを開始します。 再度、sshを介してルーターに接続します。
mysql
という名前のデータベースを作成します(
root
という名前のユーザー用)。 コマンドを実行します。
mysql_install_db --datadir=/media/DISK_A1/system/var/mysql --basedir=/media/DISK_A1/system/usr --force /media/DISK_A1/system/etc/init.d/S27mysqld restart
データベースにアクセスするためのパスワードを変更します。
/media/DISK_A1/system/usr/bin/mysqladmin -u root password "new-password"
次に入力します:
mysql -u root -p
要求に応じて、設定されたパスワードを入力し、次のコマンドを入力します。
create database ttrss; use ttrss; source /media/DISK_A1/system/www/tt-rss/schema/ttrss_schema_mysql.sql; quit;
mysqlデータベースにアクセスするには、loインターフェイスを解決する
iptables -I INPUT -i lo -j ACCEPT
のiptablesルールを追加する必要があります。 再起動時にこのコマンドを自動的に実行するには、サーバー
/media/DISK_A1/system/etc/init.d/S27mysqld
mysql autostartスクリプトにこのコマンドを追加できます。
case "" in start) start iptables -I INPUT -i lo -j ACCEPT ;;
mysqlサーバーの再起動:
/media/DISK_A1/system/etc/init.d/S27mysqld restart
ブラウザでアドレスを開きます
192.168.1.1:81/tt-rss/
192.168.1.1:81/tt-rss/
tt-rssインストーラーが開く場所:

スクリーンショットのようにフィールドに入力します。 [設定のテスト]をクリックします。 すべてが正常な場合、次のメッセージが表示されます。

[データベースの初期化]をクリックしてください。 そして、構成を保存します。
住所を開いてみましょう
192.168.1.1:81/tt-rss/
192.168.1.1:81/tt-rss/
。 ルートから実行できないことを誓います。 ルーターには他のユーザーはいないため、このチェックをオフにして、rootとしての起動を許可してください。 これを行うには、
/media/DISK_A1/system/www/tt-rss/include/sanity_check.php
編集し
/media/DISK_A1/system/www/tt-rss/include/sanity_check.php
。
if (function_exists('posix_getuid') && posix_getuid() == 0) {
set
posix_getuid() == -1
。
ブラウザでページを更新し、管理者ログイン、パスワード、パスワードを入力します。 すべて使用できます!
フィードを更新するには、タスクをcronに追加し、ファイル
/media/DISK_A1/system/etc/crontabs/root
を開いて追加します
*/30 * * * * /media/DISK_A1/system/usr/bin/php-cgi /media/DISK_A1/system/www/tt-rss/update.php --feeds --quiet
このコマンドは、30分ごとにフィードを更新します。
外部からリーダーにアクセスするには、httpサーバー
/media/DISK_A1/system/etc/init.d/S50lighttpd
自動実行スクリプトでiptablesルールのコメントを解除する必要があります。
iptables -A INPUT -p tcp --dport $PORT_F -j ACCEPT
tt-rssで、ルーターに迷惑なバグが発見されました。これは、win-1251でエンコードされたフィードを処理したくないという事実にあります。 この問題を解決するには、次の松葉杖を使用できます。 前のファイル
/media/DISK_A1/system/www/tt-rss/include/rssfuncs.php
if (!$rss) { $rss = new FeedParser($feed_data); $rss->init(); }
追加( フォーラムの Star Perヒントに感謝):
if (stripos($feed_data, 'encoding="windows-1251"')) { $feed_data = str_ireplace( 'encoding="windows-1251"', 'encoding="utf-8"', iconv( 'CP1251', 'UTF-8', $feed_data ) ); }
したがって、私たちはrssリーダーを手に入れました。それはある時点では何らかの理由で閉じられません。 さらに、このリーダーはマルチユーザーモードで動作し、友達と共有できます。
リーダーでデフォルトのパスワードを変更することを忘れないでください! 良い読書をしてください。