私たちはWebサイトをホストするためにKubernetesに移ります... Kubesprayのそのプロジェクトの詳細をご覧ください。
php-cms ex-pohseを含む
基本的なコンテナオーケストレーターまたはエンジンを使用して展開およびテストすることは、海峡を展開します。現在、展開スクリプト. deploy.sh Balena Engineに基づく. deploy.sh 。 nodejs依存関係の詳細をご覧ください
既存のPHPプロジェクトのリポジトリに何も変更する必要はありません。ただし、これらのファイルが存在する場合、ビルドプロセスの動作に影響します。
ACAKE2PHPフォルダーには、ローカルにインストールするためにプルする必要があるモジュールが含まれています。最初のチェックアウトの後、acake2phpフォルダーへの閲覧後、 git submodule sync && git submodule update --init --recursive編成サブフォルダーアプリ/webroot/にモジュールが表示されます。
毎回成功した
git checkoutの後、git submodule update --init --recursiveGitからダウンロードされることを確認します。それ以外の場合は、ビルドが失敗する可能性があります。開発者のヒント:タグをプッシュする:git tag`<version> && git push --tags。
Packagist Composer.json
ここにcomposerとインストールされる依存関係のリスト。
プラグインは、 GitサブモジュールとComposer.jsonの両方に登録されています。プラグインがcomposer update受け入れることを許可するには、利用可能なリリースタグに従ってComposer.jsonを編集します。プラグインのホームリポジトリ( app/Vendor/<package-name>またはapp/Plugin/<plugin-name>/ )
.htaccess
Apacheサーバーがサーバー側のアプリ/Webrootフォルダーに直接閲覧できるようにするには、.htaccessファイルで提供されるように、mod_rewriteルールを使用します。
/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
# Uncomment if you have a .well-known directory in the root folder, e.g. for the Let's Encrypt challenge
# https://tools.ietf.org/html/rfc5785
#RewriteRule ^(.well-known/.*)$ $1 [L]
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
/app/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /app/
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
このプロジェクトは、NPMJS Balena-Cloudに依存します。システムがbalena_deploy見つからないことに不満を言うたびに、 npm updateに電話してください。
.ENVファイル
環境変数を次の引数として設定します。たとえば、macos xで:
./deploy.sh amd64 --nobuild
シェルの.ENVファイルを使用して、raspberrypi3ホストで構成します。
./deploy.sh arm32 --nobuild
.ENV-> ARM32V7.ENV
./deploy.sh arm32 --balena
ケーキには、ポート9000でローカルテスト用にのみ作成されたサーバーアプリケーションが含まれています。端子ウィンドウを開きます。
DB=Mysql ./configure.sh --mig-database -u
./start-cake.sh --docker -c server -p 9000
CtrlをクリックしてURLをクリックしてブラウザで開きます。コマンドラインインターフェイスについてより多くのヘルプを得るには:
./start-cake.sh --help
Junitテストは、次のケーキサーバーへの通話で利用できます。端子ウィンドウを開きます。
./test-cake.sh
継続的な統合ビルド環境専用のオプション(-travis、-openshift、 - circle)があります。 -HELPを使用して、オプションの詳細を確認してください。
ビルトインローカルサーバーへのアクセスを許可するには、以下を参照してください。
デバイスで展開が行われるか、Git Pushイベント「Source-to-Image(S2I)」によってトリガーされると、HTTPDサーバーまたはPODは適切な環境変数を設定する必要があります。それ以外の場合、スクリプトはエラー状態で失敗し、データベースに接続できません
次の変数は、データベース管理者が提供するサーバー環境として設定する必要があります。
# Sqlite, Postgres
DB:Mysql
注:DBは、SQL接続を構成するためにCakePhpモデル/DataSource/Database DBOSourceクラスを選択します。
MYSQL_DATABASE:default
# a hostname or IP address
MYSQL_HOST:mysql
注: test_をプレフィックスして、index.php?test = 1 urls and ./test-cake.sh(-travis)で使用されます。
以下の追加変数は、データベース管理者が提供するサーバーシークレット環境として設定する必要があります。
#(optional)
WEBHOOK_URL:<discordapp-url>
# Persistent connection credentials
DATABASE_USER:<provided-user>
MYSQL_ROOT_PASSWORD:<provided-password>
# Just add MYSQL_USER and MYSQL_PASSWORD
MYSQL_USER:<test-user>
MYSQL_PASSWORD:<test-password>
# CakePHP generated
CAKEPHP_SECRET_TOKEN:<secret-token>
CAKEPHP_SECRET_SALT:<secret-salt>
CAKEPHP_SECURITY_CIPHER_SEED:<cipher-seed>
# Generated by ./configure.sh -h
GET_HASH_PASSWORD:<hashed-password>
MYSQL_DATABASE
aria_db
MYSQL_HOST
db
MYSQL_PASSWORD
maria-abc
MYSQL_ROOT_PASSWORD
mariadb
MYSQL_TCP_PORT
3306
MYSQL_USER
maria
SERVER_NAME
<Domain-Name>
コンテナエンジンは、持続的なストレージを備えた限られた環境を提供します。最後のデータベースの展開が成功したことを確認し、ポッドシェルを開きます。
内部DBポッド:
mysql -uroot --password=${MYSQL_ROOT_PASSWORD}
たとえば、いくつかのSQLステートメントを発行します。
ùse aria_db; show tables;表をリストする必要があります
内部acake2php pod:
cake schema update --connection=defaultデータベースを構築する必要があります
cake schema update --connection=testテストデータベースを構築する必要があります
SQLサーバー(リモートサーバーバージョンと一致する必要があります)は、ホスト名またはそのソケットを介して到達可能でなければなりません。この接続を初めて使用する場合は、
それをサービスとして構成し、ユーザーシェルでログインACLを構成します。
./configure.sh -d -u -i
mysql_secure_installation
オプションの編集./app/Config/database.php database_configクラスを変更する場合。
オプションの編集./app/Model/Datasources/Database dbosourceドライバーを変更する場合。
編集./Scripts/fooargs.shデフォルトのテスト環境設定(ホスト、ポート、ログイン、データベース名)を変更する
構成スクリプトを実行します。
./configure.sh -d -p <root-password> -i --sql-password=<new-password>
./configure.sh --help && ./migrate-database.sh --help
より一般的な問題
次のコマンドは、sql users ${DATABASE_USER}および${MYSQL_USER}パスワードをリセットします。
./migrate-database.sh -p -i -p - test -sql -password
http://localhost/admin/index.phpでスタッフの権利にサインインするには、 GET_HASH_PASSWORDに保存されている一意のパスワードが必要です。 「塩漬け」の暗号化とセットアップでこのハッシュされたパスワードを生成する1つの方法:
./configure.sh -h -p <password> -w <salt>
現在のパスワードのハッシュを再生成または読み取るには、http://localhost/php-cms/e13/etc/gethashpassword.phpに閲覧するだけです
GET_HASH_PASSWORD=<HaSheD/PasSwoRd!>システム読み取り可能な変数としてローカルサーバー環境に保存する必要があります。
インデックスページの表示:
errno : 1146
sqlstate : 42S02
error : Table 'phpcms.info' doesn't exist
以下を試して、すべてのデータベーステーブルを移行(更新)し、プロンプトが表示されたときに「Y」と答えます。
./migrate-database.sh -u
おそらく、サーバー上のユーザー特権を変更しています。
mysql -u root
use mysql;
grant all PRIVILEGES on $TEST_DATABASE_NAME.* to '$MYSQL_USER'@'$MYSQL_HOST';
exit
```acake2php
./configure.sh -c
これにより、Templateを使用して..etc/ Propertiesファイルの接続プロファイルがリセットされます。環境変数の詳細は、リモートポッド(OpenShift)設定にあり、局所的に./scripts/fooargs.shにあります。
注記:
./configure.sh --mig-database -p -i --sql-password
環境ルートとユーザーのパスワードを使用してリセットするには。
(自動)これはMySQLの最初のインストールのように見えます。 MySQLルートアクセスを保護またはリセットする必要があります。
MYSQL_ROOT_PASSWORD=<password> sudo bash deployment/images/mysqldb/mysql_secure_shell
(マニュアル)sqlルートパスワードを再現するLinuxシェルの方法:
sudo rm -rf /usr/local/var/mysql
mysqld --initialize | grep "temporary password" | cut -f4 -d ":" | cut -c 2- > app/tmp/nupwd
注:root@localhost用に一時的なパスワードが生成されます。 Intermed Identivitions。
brew services restart [email protected]
./configure.sh --mig-database -p $(cat app/tmp/nupwd) -i --sql-password
これで、新しいSQLルートパスワードとテストパスワードを構成しました。ローカルSQLアクセスとサーバーはテストを実行する準備ができています:
./test-cake.sh -p -t <test-password>
ローカルビルトインサーバーで開発フェーズに進みます。
すべてのテーブルを移行します:
./migrate-database.sh -u
プロンプトが表示されたときに「Y」と答えます。
php -i | grep Extensions
ルートの特権でログインする必要があります。
mysql -u root --password=${MYSQL_ROOT_PASSWORD}
そうでない場合は、パスワードをリセットします。
mysqladmin -uroot password
ログインできない場合: +環境変数(common.envおよびdocker-compose.yml)設定を確認してください)。どちらか一方を使用して、どちらがあなたに合っているかを確認してください。
MYSQL_HOST=$(hostname)
```(Unix/OSX platforms)
or if docker-compose services are the following name:
MYSQL_HOST=db
MYSQL_TCP_PORT=3306
+ Debug the local configuration, look for unbound VARIABLES, add verbosity level information (add `-o` if you are in a remote shell):
```acake2php
set -u
./configure.sh --verbose -d -u
./configure.sh --mig-database -p ${MYSQL_ROOT_PASSWORD} -t ${MYSQL_PASSWORD} -i
ローカルコンテナデータベースを起動するパラメーターをお見逃しなく:
./migrate-database.sh -u --docker -i or ./configure.sh --mig-database -u --docker -i
引数を使用してソケット修正スクリプトを実行します。
./migrate-database.sh /tmp/mysqld.sock
brew services restart [email protected]
CLIを使用すると、ctrl-x ctrl-cにサーバーを終了してデータベースを移行することができます。
./migrate-database.sh -u
./start_cake.sh
プロンプトが表示されたときに「Y」と答えます。
mysql.php dataSourceは、バイナリと中程度のストレージタイプを定義する必要があります。ファイルアプリ/Model/DataSource/mysql_cms.phpが存在する場合は、次のエラーが発生した場合はご覧ください。
errno : 1054
sqlstate : 42S22
error : Unknown column 'image' in 'field list'
MediumBinaryストレージを追加し、元のDataSourceクラスを拡張します。
<?php
App::uses('Mysql', 'Model/Datasource/Database');
class Mysql_cms extends Mysql
{
public function __construct()
{
parent::__construct();
$this->columns['mediumbinary'] = array('name' => 'mediumblob');
}
/**
* Converts database-layer column types to basic types
*
* @param string $real Real database-layer column type (i.e. "varchar(255)")
* @return string Abstract column type (i.e. "string")
*/
public function column($real) {
$s = parent::column($real);
if($s === "text") {
$col = str_replace(')', '', $real);
$limit = $this->length($real);
if (strpos($col, '(') !== false) {
list($col, $vals) = explode('(', $col);
}
if (strpos($col, 'mediumblob') !== false || $col === 'mediumbinary') {
return 'mediumbinary';
}
}
return $s;
}
}
?>
app/Config/database.phpで$ ID [db] ['dataSource' ./Scripts/fooargs.shとして設定され.travis.ymlいることを確認してください。
./migrate-database.sh -u
最近のgit checkoutにより、マスター/開発ブランチで発生する可能性のあるサブモジュールがディスクから消えました。ワークフローにシェル構成スクリプトをリコールまたは追加します。
./configure.sh -m
作曲家の依存関係から開発環境を構成する必要があります。
./configure.sh --development
NPMJSインストールされたバイナリを見つけるには、このシェルのnode_modules/.binをエクスポートする必要があります。
export PATH="`pwd`/node_modules/.bin:$PATH"
BASHはスクリプトの配列を処理せず、バージョン3を使用します。V.4以降にアップグレードしてください。 BASHバージョンを確認し、OpenSSLCacertもアップグレードします。
.travis/TravisCI-OSX-PHP/build/prepare_osx_env.sh
Copyright 2016 www.b23prodtm.info
Apacheライセンス、バージョン2.0(「ライセンス」)に基づいてライセンスされています。ライセンスに準拠している場合を除き、このファイルを使用することはできません。ライセンスのコピーを取得できます
適用法で要求されていないか、書面で合意されていない限り、ライセンスに基づいて配布されたソフトウェアは、明示または黙示のいずれかの保証または条件なしに、「現状のまま」に基づいて配布されます。ライセンスに基づく権限と制限を管理する特定の言語のライセンスを参照してください。