はじめに
別件で調べもの中、見つけたのでインストールしてみました。
オープンソースでPHPで作成されてた。Goteo
https://github.com/GoteoFoundation/goteo
準備
Goteoのバージョン2系はphp7に対応していないよう。3系から7に対応とヒストリに記載がある。
ただ、2系はpear、3系はsymfony,composer,nodejsの環境が必要です。
環境がCentos8なのでGoteo version: 3.5をいれることに。。
インストールした環境 php MySql Apacheはインストール済みの想定です。
Centos8.4
PHP 7.2.24
MySql 8
Apache/2.4.37
Centos8入れ替えないとな・・・
追加したパッケージ
yum install ruby-devel
yum install rubygems
yum install nodejs
PHP要ライブラリ 筆者の環境ではコンソール上のphp.iniでpdo_msyqlを有効にしました。
gd, mcrypt, curl, mbstring, json, mysql
php composer インストール
wget https://getcomposer.org/installer -O composer-installer.php
php composer-installer.php --filename=composer --install-dir=/usr/local/bin
Goteoインストール
Goteo自体、WEBルート直下しか動作できない。テンプレート上でルートの記述がある。
サブフォルダーでテストする方法は別途ポート8080などにして、httpd.conf等で、ウェブルートをインストールしたフォルダーを指定する必要があります。
ファイルをアップロードしたフォルダーにsshコンソールで移動しておく
composer install
npm install
nodejsを新規インストールした場合gruntをインストールしておく
npm install -g grunt
設定ファイルをコピーしておく
cp config/demo-settings.yml config/settings.yml
ビルドします
grunt build:dist
筆者は上記でエラー
......
Running "sass:devel" (sass) task
ERROR: Cannot load compass.
.....
compassの確認。入っている
compass -v
Compass 1.0.3 (Polaris)
Copyright (c) 2008-2021 Chris Eppstein
Released under the MIT License.
Compass is charityware.
Please make a tax deductable donation for a worthy cause: http://umdf.org/compass
一応gemを更新して
gem update --system
sass-3.4.25が必要のようで、3.7.4をアンインストール。なんか、いつもここでつまづく。。
gem uninstall sass
Select gem to uninstall:
1. sass-3.4.25
2. sass-3.7.4
3. All versions
> 2
Successfully uninstalled sass-3.7.4
で再度
grunt build:dist
完了したら。
config/settings.ymlを修正する。
urlは、Goteo自体、WEBルート直下しか動作できない。テンプレート上でルートの記述があるので変更が大変な感じ。
テストしたい場合は、webルートにサブフォルダーを作成してそこにソースを展開して、httpd.confで8080などポートを指定して
8080のドキュメントルートを指定したサブフォルダーを指定することで、とりあえずテストできます。要ファイアウォール変更 8080等
# url
url:
main: //あなたのドメイン:8080
あとはSQLユーザー、パスとメールアドレスを変更しておく
# Database stuff
db:
driver: mysql # Database driver (mysql)
host: localhost # Database host
port: 3306 # Database port
charset: utf8mb4 # Database charset
database: goteo # Database schema (database name)
username: xxx # Database user for the goteo database
password: xxxxx # Password for the goteo database
# Mail transport
mail:
# receiving emails
mail: xxx@xxxx.net # Main
contact: xxx@xxxx.net # consulting head
manager: xxx@xxxx.net # accounts manager
fail: xxx@xxxx.net # dev head
log: xxx@xxxx.net # Loggin mail
設定後、mysqlでデータベースを作成しておく
create database goteo;
テーブルを作成します。
php bin/console migrate install
サブフォルダーで動かす場合
httpd.confに追加
<VirtualHost *:8080>
ServerName あなたのサーバドメイン
ServerAdmin xxx@xxxxxx
DocumentRoot インストールサブフォルダーのフルパス/dist
# Custom settings for apache
SetEnv GOTEO_CONFIG_FILE インストールサブフォルダーのフルパス/config/settings.yml
FallbackResource /index.php
<Directory インストールサブフォルダーのフルパス/dist>
Options Indexes FollowSymlinks
AllowOverride All
Require all granted
</Directory>
#LogLevel info ssl:warn
ErrorLog logs/あなたのサーバドメイン-error_log
CustomLog logs/あなたのサーバドメイン-access_log combined
</VirtualHost>
設定後は、apache再起動します。
firewallを設定している場合は、該当ポートをあけておきます。
firewall-cmd --permanent --zone public --add-service 8080
firewall-cmd --permanent --zone public --add-port 8080/tcp
firewall-cmd --reload
これで準備完了です。
これで表示されるはずです。
http://あなたのサーバドメイン:8080
管理者ログインは初期のid,パスはrootです。
日本語化
下記をみるとファイルはありますが、日本語されていません・・・・
Resources/translations/ja
筆者は面倒だったので、perlでバッチを作成して
ymlは:で区切られているので分割して、翻訳部分のみだけにして、機械翻訳一括でして。再度バッチでUTF8で変換して戻しました。めんど。
英語は、すべてなかったので、スペイン語とマージしました。スペイン語の機械翻訳がかなり。。。まずい感じに・・
prelで分割 こういう時perl便利!
$it_name="";
$val="";
if($line=~ /^(.*?):/igm) {
$it_name=$1;
$val=$';
}
作成したファイルを上書きして再度
Resources/translations/ja
再度
http://あなたのサーバドメイン:8080
おお!!きたーと思ったら。。どうも、ユーザー画面のみ日本語で、管理画面は2系?のデザインでスペイン語?んー面倒ね。
どうも、テンプレートにスペイン語が直書きのよう・・・・
なので下記のフォルダーを適当に翻訳。。大体がxxx一覧、翻訳、修正、削除みたいな感じの修正
Resources/templates/legacy
再度
http://あなたのサーバドメイン:8080
あれ?まだ、だめなページが・・legacyをみてみるが。。なさそう。。まさか。。
Resources/templates/defaultの中身も必要だった・・・・汗
再度
http://あなたのサーバドメイン:8080
今度は、すでに登録されてる??データの部分がスペイン語??
実際、SQLの中に、カテゴリと、SDGsの部分がはいってるので、その2つだけ少し触ってみた。。。直るよね。。。あとFAQとかパス・・・
なんとなく触ってみて
再度
http://あなたのサーバドメイン:8080
よくみると、えーーーなんか部分的に、スペイン語?まじかー。該当の単語をgrepすると。。phpファイルの中に。。
きっと、まだ、新しいデザインに置き換わってないところは、多言語になっていないんだと。。気づく。。。おそ。。
googleでスペイン語翻訳すると。おかしな、日本語になるのでとりあえず。。そのままで。。
たぶん、内容的に、管理画面の追加。多言語分のデータの登録部分なので、FAQとかいらないのはそのままで。。とか。
管理画面で日本語翻訳を追加する場合
下記をデータベースで追加が必要です。
INSERT INTO `user_translang` (`user`, `lang`) VALUES ('root', 'ja');
円を追加
修正後var/cacheをクリア
Resources/currencies.yml
JPY:
name: '円'
symbol: '¥'
thousands: ','
decimal: '.'
active: true
結果
ここが新デザインと、旧デザインが表示される。他にもたくさんありました。。
機械翻訳でおかしな部分も・・・
forkして日本語アップしようかと思ったけど、中途半端だから。。機械翻訳だし。。
さいごに
ここまでやって、疲れたので、肝心な動作確認してません。。
では。。
追記。。
なにか、記事ついて、電話あったみたい。
中途半端な、日本語ファイル置いておきます・・
Resourcesディレクトリから上書きですよ。
サポートしてないので、ご自由にお持ちください。・・・