@sinnchan 「設置方法について日本語でまとめようと思っている」か。
@mrmts ありがとうございます。私の方でもちょっと自力で調べてみますね。設置までの苦労はありますが、反面、楽しさも感じてます。
@sinnchan いちばん参考になったのは下記のリンクです。難点は、コマンド操作した場合の説明とコマンドが使えない場合の説明が判別しづらいところと、ディレクトリの構造をどうしたらよいのかいまいちわからないところです。読み手によっても違うと思うのですが。 https://web.gnusocial.jp/post/2022/09/05/120/ [参照]
@gnusocialjp どういたしまして。基本的なことが理解できていないので、とてもやさしく書かれてはいるのですが、ところどころ戸惑って試行錯誤するところがありました。
ところで、#Qvitter をmaster からとってきたものだとエラーが出て動かなかったのですが、 https://notabug.org/gnusocialjp/Qvitter のdevelop だとうまく動きました。ただ、プロフィールの変更が反映されないという現象が起こっています。こちらは下記の記事に書いているプロフィール更新のエラーが修正されたものでしょうか? https://web.gnusocial.jp/post/2022/10/11/174/ [参照]
@mrmts 指摘内容を反映させました。これでも分かりづらかったら、よければ具体的にどこをどう直せばよいか教えてください。
GNU social v2.0のインストール | GNU social JP
https://web.gnusocial.jp/post/2022/09/05/120/ [参照]
@gnusocialjp ありがとうございます。全体としてとてもよくなったと思います。随所でわかりやすくなっています。ディレクトリのところもいくらかわかりやすくなりましたが、私の理解力が乏しいせいかまだいまひとつだったので、以下、気がついたことをコメントさせていただきます。
(1)ブランチの説明があるのはありがたいですね。Linuxも触らなければプログラミングもやらないという人にとってリポジトリーとかGitHubと聞いただけで拒絶反応を起こしてしまうし、勇気を出してリンクをクリックしても、今度はブランチでmasterとかmainとかdevelopとか出てきたら、何も言わずにブラウザをそっと閉じてしまいます。だいたい英語ばかりですしね。
(2)PHPのバージョンはつまずくところかもしれませんけど、私は大丈夫なのでとりあえずここはスルー。
(3)「任意の場所に展開して」みたいに書かれてあったところが「これをWebサーバー上の公開ディレクトリールート直下に配置して」になっているのでとても分かりやすくなったと思います。
(4)さて、ディレクトリについてです。私がディレクトリまわりで困ったのは、Xserverのサブドメインが"home/xxxserver名/ドメイン名(mrmts.com)/public_html/サブドメイン名(gs.mrmts.com)"の"gs.mrmts.com"以下のディレクトリにファイルを置くようになっていたからです。gs.mrmts.comで言えば、"home/xxxserver/mrmts.com/public_html/gs.mrmts.com/"で、ルートディレクトリは"gs.mrmts.com"の下です。
ですので、説明のページにある"gs.example.com"で混乱してしまいました。そして、いまでもシンボリックリンクはできないままです。
(4)の続きです。
たとえば、ルートディレクトリでファイルを展開して、そこにgnu-socialのディレクトリができるとします。そこでgnu-social/publicをgs.mrmts.comにシンボリックリンクでつなげると、ブラウザからはhttps://gs.mrmts.com/gs.mrmts.com/install.phpにアクセスすることになります。
ルートディレクトリの1つ上から(gs.mrmts.com)/gnu-social/publicのシンボリックリンクgs.mrmts.comを作ろうとすると、同名のフォルダがあるのでその下のディレクトリにリンクが作成されます。-fオプションつけるのは強制の意味ですかね?このあたり素人なのでよくわからないのです。
そこで、手動でやるとします。フォルダ名を$DOMAIN(gs.example.com)に変更というのが、やっぱりよくわからなくて、それだとやっぱりhttps://gs.mrmts.com/gs.mrmts.com/install.phpからアクセスすることになってしまうので。
(4)の続きの続きです。
そういうわけで、私はgnu-social/publicの中身をルートディレクトリに移動させて、install.phpとindex.phpのファイルの中のインストールディレクトリとpublicディレクトリのアドレスを指定する部分をぐぬ管さんの説明を参考に下記のように変更しています。このやり方だと、ぐぬ管さんの説明に加えて、PUBLICDIRの方も変更しないとまともに動作しませんでした。
define('INSTALLDIR', dirname(__DIR__) . DIRECTORY_SEPARATOR . 'gs.mrmts.com/gnu-social');
define('PUBLICDIR', dirname(__DIR__) . DIRECTORY_SEPARATOR . 'gs.mrmts.com');
あとは些細なことです。
(5)Fancy URLのところは、コマンドが使えない人向けには、"gnu-social/DOCUMENTATION/SYSTEM_ADMINISTRATORS/webserver_conf/htaccess.sample"から"htaccess.sample"とってきて、ファイル名を".htaccess"に変えて、一番上のディレクトリに置くんだよと書いてあった方がありがたいように思います。
(6)前後しますが、最初の方のunzipのくだりについてです。tar.gzではなくてzipで説明してくださっているところに優しさを感じますが、サーバー上で解凍ができない人はけっこういるんじゃないかなと思います。ここは判断の別れるところだし、私も説明のページを作ろうと思っているのでそちらでやらばよいのかもしれませんが、サーバー上で解凍できない人の手順があると初心者にとってはありがたいかなと思いました。
ざっとですが、目を通させていただいて気づいたところと、もともとの私がぐるぐる回って困っていたところについて書かせていただきました。
@mrmts お返事ありがとうございました。対象読者に誰を想定するかですね…私のサイトをどういう人が見ているのか、私はよくわかっていません。分散SNSの管理者やユーザーが中心だと思っていて、ある程度IT知識がある人がメインだと思っていたのです。
1. ブランチの説明が必要ですか?[ブランチ] の意味がわからなくても、作業手順としては問題なくありませんか? Webサーバーとか、Linuxとかコマンドとか、他の用語は大丈夫なのですか?このわかる、わからないの線引は何なのですか?そもそも自分がしらない単語が登場しただけで、調べもせずに離脱するならば、分散SNS自体に関わらない、私のサイトをみないのではないですか?
4. このディレクトリー構成はXserver固有の問題だと思います。CORESERVERとさくらのレンタルサーバーを使ったことがありますが、手順の説明通りのような構成でした。自分のサーバーがどういうディレクトリー構成かはユーザーが自分で解釈して対応する必要があると思います。業者の個別の特殊な事情まで私はカバーしきれません。
あなたの例だと、私の手順のルートディレクトリーは [/home/user/domain/public_html/] ("home/xxxserver名/ドメイン名(mrmts.com)/public_html/) です。ここで作業すれば、ドメインが二重 (https://gs.mrmts.com/gs.mrmts.com ) にはなりません。直接ここで作業できないならば、自分で工夫する必要があります。 -fはforce (強制、上書き) の意味です。あなたが行ったとおり、自分の環境に合わせて自分で参照先を変えるやり方で問題ありません。意味がわかっているならば自分でカスタマイズして対応すればOKです。
5. 「コマンドが使えない人」じゃなくて、「コマンドの意味がわからない人」ですね。コマンドの行をみれば、登場する単語は限られているので、ある程度推測できるような気はするのですが…
6. サーバー上で解凍できないならば、自分で判断してローカルで解凍してアップロードすればいいですね。
5,6は少し言葉を足せばいいだけなので、対応を検討します。
@gnusocialjp おっしゃるとおり、究極は対象読者をどこに置くかという問題だと思います。その意味では私にとっては当初の記事でも改訂された記事でもあまり違いはなかったのですが、ものすごく極端な言い方をすると、ある程度スキルのある人は自分でマニュアルを読んでインストールできてしまうし、逆にマニュアルが自分で読めない人が解説サイトや誰かの助けを必要とするわけですよね。ということは、解説ページを作るときに想定される読者は、知識がほぼゼロの人からマニュアルを読めるか読めないかギリギリの人まであいだで、そのどこにスポットライトを当てて解説するかってところなのかなと思います。商売でやっているわけではないので、どこまでの読者をターゲットにするかは作り手次第なのかなと。
私はどちらかと言うとGitHubとかを見たときにそっとブラウザ(なりタブなり)を閉じてしまうような人にもインストールを試してみてもらいたいなと思っているので、そのあたりの読者を想定して説明のページが作れたらいいなと思っています。
@gnusocialjp そういうのがたくさんあれば誰かのどこかに引っかかる可能性も高くなり(たくさんの中から取捨選択するコストも高くなるけど)助かる人もきっと増えるので、商売としてやろうがやらなかろうが、ぐぬ管理さんはぐぬ管さんでご自身の読者を想定してサイトを運営していったらいいと思います。
@sinnchan 日本語での設置方法についてあるいていど整理出来たらまとめようと思いますので、よければぜひ。