Softaculous で GNU social をインストールする

3日以上かけて Mastoson や GNU social、Hubzilla、Pieroma などの分散型 SNS の構築に挑戦したが、どれもうまくいかなかった。もう諦めたつもりでいたんだけど、Softaculous というツールを使えば簡単に GNU social をインストールできると知り挑戦してみることにした。

Softaculous に対応しているレンタルサーバーではほんのちょっと設定項目を入力するだけでさまざまなアプリケーションをサーバーにインストールできるのだ。

Softaculous に対応したレンタルサーバーを探し、私はイギリスの Kualo というサービスを利用することにした。

Site Hosting, Domain Registration & Cloud Hosting | Kualo
https://www.kualo.com/

Kualo では月 1000 円程度(初月のみ 500 円程度に割引されるみたい)。GNU social が簡単にインストールできることも売りにしている。

GNU social Hosting | Kualo
https://www.kualo.com/webhosting/gnu-social-hosting

ドメインは本当は現在使っているドメインのサブドメインを使いたかったがよく分からず、新規にドメインを取得することにした。ただ、うまくいくとは限らないので、ドメインは無料の freenom を使った。

freenom で無料のドメインを取得する – with a Christian Wife
https://wacw.cf/2018/07/15/getting-free-domains-with-freenom/

freenom でドメインを取得する際に Kualo のネームサーバーを入力する必要があるが、2つしか登録できない(Kualo は4つ)。しかし一旦2つだけ入力して登録すれば、freenom のドメイン設定で追加のネームサーバーを入力できる。

Which nameservers should I use? – Kualo Limited
https://my.kualo.com/uk/knowledgebasekualo.php?kbcat=7&article=7

Kualo の会員登録の際にその freenom のドメインを入力する。

Kualo で Softaculous を利用するには cPanel にログインする。

cPanel Login
https://mercutio.ldn.kualo.net/cpanel

「SOFTACULOUS APPS INSTALLER>Categories>Social Networking」で GNU social が選択できる。

インストール自体はあっという間にできる。その際管理者ユーザーを同時に作成することになる。

GNU social のデフォルトのテーマは古くさいので、Twitter 風にできる qvitter というプラグインを追加する。

(1)qvitter を zip でダウンロードし、解凍。

hannesmannerheim/qvitter: mirror. moved to https://git.gnu.io/h2p/Qvitter, send merge requests and issues there
https://github.com/hannesmannerheim/qvitter

(2)1のディレクトリ名を Qvitter に変更。

(3)Kualo の cPanel で FTP アカウントを作成。

(4)FTP クライアントでサーバーにサクセスして「public_html>plugins」に2をアップロード。

(5)「public_html>config.php」に以下を追記する。

addPlugin('Qvitter');

$config['site']['fancy'] = true;

(6)「public_html>.htaccess」に以下を追記する。

$(function () {
    $('.slack-submit').on('click', function () {
    var url = 'https://slack.com/api/chat.postMessage';
        var data = {
            token: '[1で取得したトークン]',
            channel: '#general',
            username: '投稿ボタン',
            text: 'Hello Slack!',
            icon_emoji: ':smile:'
        };

        $.ajax({
            type: 'GET',
            url: url,
            data: data,
            success: function (data) {
                alert( '投稿完了!');
            }
        });
    });
});

***

次にサイトを SSL 化する。

これも Kualo の cPanel の「SECURITY」という項目で設定できる。

「public_html>.htaccess」に以下を追加する(6より前の位置に)。

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

***

管理者用画面に行くには GNU social 右上のユーザーアイコンをクリックし、Classic [サイト名] をクリックする。このクラシック表示にしたとき、上に Admin という項目がある。これが管理者用画面だ。

最初迷ったのが、ユーザー登録画面がないことだったが、この管理画面で「ADMIN>ACCESS>Registration>Closed」のチェックを外せばいい。これで誰でもユーザー登録できる。

新たにユーザーを管理者にしたり、ユーザーを削除したりするには「Admin>PUBLIC>DIRECTORY」あるいは、該当ユーザーのプロフィールページから行える(この作業ができるのは Administraor ではなく Moderator である必要がある?)。

***

Qvitter をテーマとしていると、冒頭に「連合が何とか」という一見あやしい文言が表示されるが、これはプラグイン内の QvitterPlugin.php の customwelcometext 部分をいじれば好きな文章にできる。

参考:
シェルが使えない共有レンタルサーバーで GNU social インスタンスを立ててみた – 荒木武蔵のメモ置き場
https://musashi.araki.jp/2017/05/06/gnu-social-with-softaculous-without-shell/