Indonesian (Bahasa Indonesia) translation by Dean Ramadhan (you can also view the original English article)
Dalam tutorial ini, kita akan mempelajari lebih dalam tentang OpenShift untuk memahami proses pembangunan dan penyebaran kustom. Kami juga akan mempelajari command-line tool untuk mencatat dan mengatasi masalah saat aplikasi kami tidak aktif.
Kami juga akan membahas beberapa tips bonus untuk memanfaatkan fitur SSH yang ditawarkan oleh OpenShift. Selain itu, kita akan melihat cara menyinkronkan lingkungan lokal kita dengan lingkungan remote termasuk basis data, file sumber, dan file media.
Bagian pertama dari seri ini memberikan gambaran umum singkat tentang OpenShift. Kami membahas cara membuat aplikasi, mendapatkan URL server, nama akun kami, dan menyiapkan domain khusus.
Kami melakukan hampir semua tugas itu menggunakan antarmuka web yang bagus dan sangat nyaman; Namun, selain dasbor, OpenShift menawarkan alat klien yang kuat untuk dipanggil rhc client. Kita dapat memintanya dari command line untuk melakukan administrasi dan pemeliharaan OpenShift. Setelah Anda menginstal alat, Anda dapat membuat aplikasi, menambahkan kartrid, dan menambah roda gigi dengan cepat. Ini pisau tentara Swiss. Anda mungkin tidak membutuhkannya tetapi sangat berguna.
Instal Klien Command Line OpenShift
Dokumen OpenShift sangat jelas tentang menginstal pustaka klien ini. Perpustakaan ditulis dalam Ruby jadi pastikan Anda telah menginstal Ruby. Pada dasarnya, Anda hanya perlu menginstal getm rhc di Mac atau Linux. Anda memiliki peluang besar bahwa Git dan Ruby sudah diinstal sehingga Anda hanya perlu menjalankan:
1 |
sudo gem install rhc |
Kemudian atur dengan nama pengguna dan kata sandi Anda. Kapan Anda diminta untuk Menghasilkan token sekarang? Ketik Ya.
1 |
rhc setup# Once it's done, you should see something similar:Saving configuration to /Users/kureikain/.openshift/express.conf ... done
|
2 |
|
3 |
Checking for git ... found git version 1.8.5.2 (Apple Git-48)
|
4 |
|
5 |
Checking common problems .. done
|
6 |
|
7 |
Checking for a domain ... tutsplus
|
8 |
|
9 |
Checking for applications ... found 2
|
10 |
|
11 |
demo2 https://demo2-tutsplus.rhcloud.com/
|
12 |
php http://php-tutsplus.rhcloud.com/
|
13 |
|
14 |
You are using 3 of 3 total gears
|
15 |
The following gear sizes are available to you: small
|
16 |
|
17 |
Your client tools are now configured.
|
Sekarang kita telah menginstal utilitas, mari kita bermain dengannya.
Hal pertama yang perlu diperhatikan adalah bahwa perintah rhc
akan memberi Anda daftar perintah yang tersedia. Anda dapat belajar dari sana dengan rhc help
. Ini menunjukkan gambaran singkat dari setiap perintah. rhc help command_name
akan menunjukkan kepada Anda bagaimana menggunakan perintah tertentu.
1 |
$ rhc helpGetting started:
|
2 |
setup Connects to OpenShift and sets up your keys and domain |
3 |
create-app Create an application |
4 |
apps List all your applications |
5 |
cartridges List available cartridges |
6 |
add-cartridge Add a cartridge to your application |
7 |
set-env Set one or more environment variable(s) to your application |
8 |
logout End the current session
|
9 |
|
10 |
Working with apps: |
11 |
tail Tail the logs of an application
|
12 |
port-forward Forward remote ports to the workstation |
13 |
threaddump Trigger a thread dump for JBoss and Ruby apps
|
14 |
snapshot Save the current state of your application locally |
15 |
git-clone Clone and configure an application's repository locally
|
16 |
|
17 |
Management commands:
|
18 |
account Display details about your OpenShift account
|
19 |
alias Add or remove a custom domain name for an app
|
20 |
app Commands for creating and managing applications
|
21 |
authorization Manage your authorization tokens
|
22 |
cartridge Manage your application cartridges
|
23 |
deployment Commands for deploying and managing deployments of an
|
24 |
application
|
25 |
domain Add or rename the container for your apps
|
26 |
env Manages user-defined environment variables set on a given
|
27 |
application
|
28 |
member Manage membership on domains
|
29 |
server Display information about the status of the OpenShift
|
30 |
service
|
31 |
ssh SSH into the specified application
|
32 |
sshkey Add and remove keys for Git and SSH$ rhc help appUsage: rhc app <action>Creates and controls an OpenShift application. To see the list of all applications use the rhc domain show command. Note that deleteis not reversible and will stop your application and then remove the application and repo from the remote server. No local changes aremade.List of Actions configure Configure several properties that apply to an application create Create an application delete Delete an application from the server deploy Deploy a git reference or binary file of an application force-stop Stops all application processes reload Reload the application's configuration restart Restart the application scale-down Scale down the application's web cartridge scale-up Scale up the application's web cartridge show Show information about an application start Start the application stop Stop the application tidy Clean out the application's logs and tmp directories and tidy up the git repo on the server |
Untuk perintah yang berinteraksi dengan aplikasi, Anda harus menentukan nama aplikasi dengan -a appname
atau hanya menambahkan nama aplikasi; namun, jika Anda menjalankan perintah di dalam repositori Git yang Anda kloning sebelumnya, Anda dapat menghilangkannya. Nama aplikasi dapat dilihat dengan perintah rhc app
. Contoh dengan aplikasi demo2 saya sebelumnya. Daripada mengetikkan seluruh nama akun dan nama server ke SSH ke dalamnya, saya bisa menggunakan perintah ini:
1 |
$ rhc ssh demo2 |
2 |
# Output |
3 |
Connecting to 532bd7655004468bcf0000e1@demo2-tutsplus.rhcloud.com ... |
Terkadang, berguna untuk memicu penyebaran tanpa dorongan apa pun. Katakanlah kita ingin menggunakan WordPress dari komit Git tertentu atau branch khusus.
Lihat contoh berikut:
1 |
# Deploy branch master on demo2 app
|
2 |
$ rhc app-deploy master -a demo2 |
3 |
|
4 |
# Deploy bracch branch/deploy on demo2 app
|
5 |
$ rhc app-deploy branch/deploy -a demo2 |
Atau tampilkan informasi aplikasi:
1 |
demo2 [master] ⚡ rhc app-show demo2
|
2 |
demo2 @ http://demo2-tutsplus.rhcloud.com/ (uuid: 532bd7655004468bcf0000e1) |
3 |
---------------------------------------------------------------------------
|
4 |
Domain: tutsplus |
5 |
Created: Mar 20 11:08 PM |
6 |
Gears: 1 (defaults to small) |
7 |
Git URL: ssh://532bd7655004468bcf0000e1@demo2-tutsplus.rhcloud.com/~/git/demo2.git/ |
8 |
Initial Git URL: https://github.com/openshift/wordpress-example.git |
9 |
SSH: 532bd7655004468bcf0000e1@demo2-tutsplus.rhcloud.com |
10 |
Deployment: auto (on git push) |
11 |
Aliases: openshift.axcoto.com |
12 |
|
13 |
mysql-5.5 (MySQL 5.5) |
14 |
---------------------
|
15 |
Gears: Located with php-5.4, phpmyadmin-4 |
16 |
Connection URL: mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/ |
17 |
Database Name: demo2 |
18 |
Password: DyANqgKAFbTT |
19 |
Username: adminL1GxwjI |
20 |
|
21 |
php-5.4 (PHP 5.4) |
22 |
-----------------
|
23 |
Gears: Located with mysql-5.5, phpmyadmin-4 |
24 |
|
25 |
phpmyadmin-4 (phpMyAdmin 4.0) |
26 |
-----------------------------
|
27 |
Gears: Located with mysql-5.5, php-5.4 |
28 |
Connection URL: https://demo2-tutsplus.rhcloud.com/phpmyadmin/ |
Anda juga dapat menyimpan snapshot dari aplikasi saat ini:
1 |
$ rhc snapshot-save demo2
|
2 |
Pulling down a snapshot to demo2.tar.gz... |
3 |
Creating and sending tar.gz |
4 |
|
5 |
RESULT: |
6 |
Success |
Atau Anda dapat menambahkan beberapa kartrid:
1 |
# add mysql-5.5 cartridge into our app |
2 |
$ rhc cartridge add -a demo2 -c mysql-5.1 |
3 |
|
4 |
# add php5-4 cartridge into our app |
5 |
$ rhc cartridge add -a demo2 -c php-5.4 |
Tentu saja, silakan bereksperimen dengan sejumlah perintah yang berbeda. Ini relatif lurus ke depan dan mudah dipahami, dan karena semuanya di bawah kendali sumber, mudah untuk mengembalikan perubahan Anda.
Apa yang Terjadi Ketika Anda Push ke Repositori Anda?
Pada artikel pertama, kami melihat bahwa setiap kali git push
untuk menyebarkan branch dipicu, aplikasi akan digunakan. Menurut dokumen OpenShift, berikut adalah rincian dari apa yang terjadi:
- Anda menjalankan
git push
di komputer Anda, perubahan Anda dikirim ke aplikasi OpenShift Anda - Aplikasi dimatikan
- Perubahan Anda disalin di server ke lokasi yang benar
- OpenShift memanggil build hook Anda - file skrip yang Anda tempatkan di repositori Git Anda
- Aplikasi Anda dimulai
Langkah 4 ditangani oleh file skrip di .openshift /action_hooks
Anda. OpenShift akan mengeksekusi file skrip tersebut diperiksa ke dalam repositori Git Anda pada titik tertentu selama proses penyebaran.
Jika file skrip yang sesuai tidak ada, proses penyebaran akan berlanjut secara normal. Sekali lagi, semua hook harus ditempatkan di direktori .openshift/action_hooks/
di repositori aplikasi Anda. Fase individu dari setiap build adalah:
- Pre-Receive. Selama push Anda, OpenShift memeriksa untuk memastikan bahwa aplikasi Anda dalam keadaan konsisten. Tidak ada hook untuk langkah ini.
- Pre-Build. Ini terjadi setelah aplikasi dihentikan dan direktori repo baru telah digunakan tetapi sebelum membangun. jalankan skrip
.openshift/action_hooks/pre_build
- Build. Ini membangun aplikasi Anda, mengunduh ketergantungan yang diperlukan, mengeksekusi skrip
.openshift/action_hooks/build
dan menyiapkan segalanya untuk penyebaran. Dalam lingkup WordPress, kami tidak menggunakan langkah ini karena WordPress hanya perlu masuk ke root dokumen dan dijalankan oleh server web, tidak ada persyaratan membangun khusus. Kami biasanya menggunakan hook ini untuk Mengunduh WordPress dan mengekstraknya ke lokasi yang benar di OpenShift.
- Deploy. Langkah ini terjadi tepat sebelum aplikasi dikeluarkan permulaan. Pekerjaan persiapan apa pun yang diperlukan untuk menyiapkan aplikasi agar dimulai harus dilakukan di hook
.openshift/action_hooks/deploy
. Dalam lingkup WordPress, kami menggunakan hook ini untuk menyalin data build di atas ke dalam root dokumen, menyalin plugin dan tema (.openshift/themes dan .openshift/plugin
) ke lokasi yang benar.
- Post-Deploy. Beberapa aplikasi mungkin perlu berinteraksi dengan aplikasi yang sedang berjalan untuk menyelesaikan proses penyebaran. Setelah aplikasi dimulai, hook
.openshift/action_hooks/post_deploy
akan dieksekusi.



Anda benar-benar dapat menyesuaikan skrip ini untuk keperluan Anda sendiri. Skrip build dijalankan secara langsung, artinya Anda dapat menulisnya dalam bahasa apa pun tidak peduli itu Bash, Ruby, atau Python selama Anda memasukkan shebang yang benar seperti jika Anda menggunakan bash.
1 |
#!/bin/bash
|
1 |
#!/usr/bin/ruby
|
Saya lebih suka menulis skrip Bash sederhana untuk tujuan pembuatan dan saya akan menggunakannya dalam tutorial ini. Bash ada di mana-mana dan sintaksinya sangat mudah sehingga Anda tidak perlu tahu Bash untuk memahami beberapa skrip sebenarnya.
Sehubungan dengan WordPress, kami tidak melakukan banyak tugas dalam proses pembangunan karena PHP tidak membutuhkan pembangunan; Namun, kami memanfaatkan proses pembuatan itu untuk mempersiapkan beberapa data. The .openshift/action_hooks/build
memeriksa apakah WordPress dibuat di OpenShift, jika tidak akan mengunduh WordPress dari WordPress.org, membuat direktori yang diperlukan, mengekstrak dan menyalin konten file sumber WordPress ke lokasi yang benar. Sejak penyebaran kedua, skrip pembangun itu hampir tidak menghasilkan apa-apa karena WordPress telah diinstal. Untuk mengkustomisasi skrip build ini, kita harus mengetahui variabel lingkungan.
Variabel Lingkungan OpenShift
Selama proses membangun dan mendokumentasikan, kita perlu mengetahui beberapa informasi OpenShift seperti jalur root dokumen, jalur data, dan nama aplikasi. Informasi ini tersedia dalam variabel lingkungan yang daftar lengkapnya dapat diakses di sini.
Beberapa variabel yang akan sering kita gunakan adalah sebagai berikut:
- OPENSHIFT_HOMEDIR. jalur direktori home. Di mesin lokal Anda, Linux Anda akan memiliki direktori home pengguna
/home/username
atau di Mac OS X itu adalah/Users/username
. Direktori home adalah folder tempat Anda akan berada di sana ketika Anda mengakses jarak jauh melalui SSH. Ini/var/lib/openshift/user_account_id
. Sebagai contoh, saya sendiri adalah/var/lib/openshift/532bd7655004468bcf0000e1
. - OPENSHIFT_REPO_DIR.
$OPENSHIFT_HOMEDIR/app-root/runtime/repo/
. Repositori yang berisi versi yang saat ini digunakan (aplikasi). Persis sama dengan apa pun yang Anda miliki di dalam repositori di komputer lokal Anda dengan pengecualian bahwa folder php sekarang adalah titik tautan simbolis ke root dokumen; oleh karena itu,$OPENSHIFT_REPO_DIR/php
dapat digunakan dalam membangun skrip untuk referensi ke root dokumen.
- OPENSHIFT_DATA_DIR.
$OPENSHIFT_HOMEDIR/app-root/data/
- OPENSHIFT_APP_UUID. Id unik aplikasi Anda di OpenShift. UUID bisa sangat berguna ketika Anda mulai men-generate.
Kami mengakses variabel ini dalam skrip build kami dengan $variable_name
.
Proses Penyebaran dan Build Kustom
Mari kita lihat kembali struktur repositori kami saat ini:



Kami akan mulai dengan tindakan Hello World sehingga kami dapat mengetahui apa yang akan dihasilkan, kapan dan bagaimana kami menyesuaikan skrip build.
Hello World Build Anda
Biarkan menambahkan ini echo "Hello world. This is invoked before building."
ke dalam ./openshift/pre_build
Anda
1 |
$ echo "echo \"Hello world. This is invoke before building.\"" >> .openshift/action_hooks/pre_build |
1 |
$ git add .openshift/action_hooks/pre_build
|
2 |
$ git commit -m "Hello world for pre_build" |
3 |
$ git push
|
4 |
|
5 |
Counting objects: 9, done. |
6 |
Delta compression using up to 4 threads. |
7 |
Compressing objects: 100% (5/5), done. |
8 |
Writing objects: 100% (5/5), 411 bytes | 0 bytes/s, done. |
9 |
Total 5 (delta 4), reused 0 (delta 0) |
10 |
remote: Stopping MySQL 5.5 cartridge |
11 |
remote: Stopping PHP 5.4 cartridge (Apache+mod_php) |
12 |
remote: Waiting for stop to finish
|
13 |
remote: Stopping PHPMyAdmin cartridge |
14 |
remote: Waiting for stop to finish
|
15 |
remote: Building git ref 'master', commit 1f4ef8a
|
16 |
remote: Hello world. This is invoke before building |
17 |
remote: Checking .openshift/pear.txt for PEAR dependency..
|
18 |
remote: Do we need to run WordPress install
|
19 |
remote: Preparing build for deployment
|
20 |
remote: Deployment id is d06b1d4a
|
21 |
remote: Activating deployment |
22 |
remote: Starting MySQL 5.5 cartridge |
23 |
remote: Starting PHPMyAdmin cartridge |
24 |
remote: Hello world. This is invoke when deploying |
25 |
remote: Copying WordPress plugins from .openshift/plugins |
26 |
remote: Copying WordPress themes from .openshift/themes |
27 |
remote: Database already configured. |
28 |
remote: Starting PHP 5.4 cartridge (Apache+mod_php) |
29 |
remote: Application directory "php/" selected as DocumentRoot
|
30 |
remote: Hello world. This is invoke after deploying |
31 |
remote: -------------------------
|
32 |
remote: Git Post-Receive Result: success |
33 |
remote: Activation status: success |
34 |
remote: Deployment completed with status: success |
35 |
To ssh://532bd7655004468bcf0000e1@demo2-tutsplus.rhcloud.com/~/git/demo2.git/ |
36 |
1e7ad85..1f4ef8a master -> master |
Menyalin File ke Root Dokumen
Jika Anda mengingat langkah sebelumnya, file dalam .openshift/themes
dan .openshift/plugins
disalin ke wp-content/themes
dan wp-content/plugins
. Katakanlah kita ingin melakukan hal yang sama untuk menyalin file ke root dokumen.
Anda ingin membuat sub folder yang dipanggil resume
dan meletakkan file resume/my_resume.txt
dan membuatnya mengakses melalui demo2-tutsplus.rhc-cloud.com/resume/my_resume.txt
. Mari kita buat direktori untuk menyimpan data yang akan kita salin ke dalam dokumen root. Kami membuat panggilan folder docroot
di dalam .openshift
dan apa pun di dalamnya akan disalin.
Mari kita buka .openshift/action_hooks/deploy
, perhatikan baris 49 (saya membuatnya tebal)
1 |
#!/bin/bash
|
2 |
|
3 |
# This deploy hook gets executed after dependencies are resolved and the
|
4 |
# build hook has been run but before the application has been started back
|
5 |
# up again. This script gets executed directly, so it could be python, php,
|
6 |
# ruby, etc.
|
7 |
|
8 |
echo "Hello world. This is invoke when deploying" |
9 |
dest_dir=${OPENSHIFT_DATA_DIR}current |
10 |
|
11 |
current_version=$(cat ${OPENSHIFT_BUILD_DEPENDENCIES_DIR}.current_version) |
12 |
install_dir=${OPENSHIFT_BUILD_DEPENDENCIES_DIR}${current_version} |
13 |
|
14 |
if [ ! -d "${dest_dir}" ]; then |
15 |
mkdir -p $dest_dir |
16 |
cp -rf ${install_dir}/* ${dest_dir}/ |
17 |
fi
|
18 |
|
19 |
# Replace the php/ directory with provided clean Wordpress installation
|
20 |
#
|
21 |
if [ -d ${OPENSHIFT_REPO_DIR}php ]; then |
22 |
rm -rf ${OPENSHIFT_REPO_DIR}php |
23 |
fi
|
24 |
ln -sf ${dest_dir} ${OPENSHIFT_REPO_DIR}php |
25 |
|
26 |
if [ ! -d ${OPENSHIFT_DATA_DIR}uploads ]; then |
27 |
mkdir ${OPENSHIFT_DATA_DIR}uploads |
28 |
fi
|
29 |
|
30 |
|
31 |
# If this is initial installation, copy the default themes and plugins
|
32 |
# from official Wordpress installation
|
33 |
#
|
34 |
if [ ! -d ${OPENSHIFT_DATA_DIR}plugins ]; then |
35 |
mv ${dest_dir}/wp-content/plugins ${OPENSHIFT_DATA_DIR}plugins |
36 |
fi
|
37 |
|
38 |
if [ ! -d ${OPENSHIFT_DATA_DIR}themes ]; then |
39 |
mv ${dest_dir}/wp-content/themes ${OPENSHIFT_DATA_DIR}themes |
40 |
fi
|
41 |
|
42 |
# Users can place their own plugins and themes into .openshift/ directory
|
43 |
# inside their GIT repository.
|
44 |
#
|
45 |
echo "Copying WordPress plugins from .openshift/plugins" |
46 |
cp -rf $OPENSHIFT_REPO_DIR/.openshift/plugins/* ${OPENSHIFT_DATA_DIR}plugins/ 2>/dev/null |
47 |
|
48 |
echo "Copying WordPress themes from .openshift/themes" |
49 |
cp -rf $OPENSHIFT_REPO_DIR/.openshift/themes/* ${OPENSHIFT_DATA_DIR}themes/ 2>/dev/null |
50 |
# We will copy file hereecho "Copying custom file from .openshift/docroot"
|
51 |
cp -rf $OPENSHIFT_REPO_DIR/.openshift/docroot/* ${OPENSHIFT_REPO_DIR}php/ |
52 |
|
53 |
# Add multisite upload dir
|
54 |
#
|
55 |
if [ ! -d $OPENSHIFT_DATA_DIR/blogs.dir ]; then |
56 |
mkdir $OPENSHIFT_DATA_DIR/blogs.dir |
57 |
fi
|
58 |
|
59 |
ln -sf ${OPENSHIFT_DATA_DIR}blogs.dir ${OPENSHIFT_REPO_DIR}php/wp-content/ |
60 |
ln -sf ${OPENSHIFT_DATA_DIR}plugins ${OPENSHIFT_REPO_DIR}php/wp-content/ |
61 |
ln -sf ${OPENSHIFT_DATA_DIR}themes ${OPENSHIFT_REPO_DIR}php/wp-content/ |
62 |
ln -sf ${OPENSHIFT_DATA_DIR}uploads ${OPENSHIFT_REPO_DIR}php/wp-content/ |
63 |
|
64 |
set -e |
65 |
|
66 |
if [ -z "$OPENSHIFT_MYSQL_DB_HOST" ] |
67 |
then
|
68 |
echo 1>&2 |
69 |
echo "Could not find mysql database. Please run:" 1>&2 |
70 |
echo "rhc cartridge add -a $OPENSHIFT_APP_NAME -c mysql-5.1" 1>&2 |
71 |
echo "then make a sample commit (add whitespace somewhere) and re-push" 1>&2 |
72 |
echo 1>&2
|
73 |
fi
|
74 |
|
75 |
if [ -z "$OPENSHIFT_MYSQL_DB_HOST" ] |
76 |
then
|
77 |
exit 5 |
78 |
fi
|
79 |
|
80 |
# Confirm database exists, if not create it
|
81 |
if ! /usr/bin/mysql -u "$OPENSHIFT_MYSQL_DB_USERNAME" --password="$OPENSHIFT_MYSQL_DB_PASSWORD" -h "$OPENSHIFT_MYSQL_DB_HOST" -P "$OPENSHIFT_MYSQL_DB_PORT" -e "select * from wp_commentmeta;" "$OPENSHIFT_APP_NAME" > /dev/null 2>&1 |
82 |
then
|
83 |
echo |
84 |
echo "Database schema not yet added, WordPress is ready for install by visiting the site." |
85 |
else
|
86 |
echo "Database already configured." |
87 |
fi
|
Kami menambahkan perintah ini setelah itu.
1 |
# We will copy file here
|
2 |
echo "Copying custom file from .openshift/docroot" |
3 |
cp -rf $OPENSHIFT_REPO_DIR/.openshift/docroot/* ${OPENSHIFT_REPO_DIR}php/ |
4 |
Baris dengan # adalah komentar, untuk referensi kami sendiri. echo garis hanya untuk menunjukkan beberapa output. Perintah sebenarnya yang kami gunakan adalah cp untuk menyalin semua file dan folder secara rekursif.
Sekarang, mari letakkan sesuatu di .openshift/docroot
dan gunakan.
1 |
☁ demo2 [master] ⚡ mkdir -p .openshift/docroot/resume/ |
2 |
☁ demo2 [master] ⚡ echo "Hi there" > .openshift/docroot/resume/my_resume.txt |
3 |
☁ demo2 [master] ⚡ git add .openshift/
|
4 |
☁ demo2 [master] ⚡ git commit -m "Custom hook for file copy" |
5 |
[master 46235a2] Custom hook for file copy |
6 |
3 files changed, 7 insertions(+), 1 deletion(-) |
7 |
create mode 100644 .openshift/docroot/hi.txt |
8 |
☁ demo2 [master] git push
|
9 |
Counting objects: 13, done. |
10 |
Delta compression using up to 4 threads. |
11 |
Compressing objects: 100% (6/6), done. |
12 |
Writing objects: 100% (8/8), 723 bytes | 0 bytes/s, done. |
13 |
Total 8 (delta 4), reused 0 (delta 0) |
14 |
remote: Stopping MySQL 5.5 cartridge |
15 |
remote: Stopping PHP 5.4 cartridge (Apache+mod_php) |
16 |
remote: Waiting for stop to finish
|
17 |
remote: Stopping PHPMyAdmin cartridge |
18 |
remote: Waiting for stop to finish
|
19 |
remote: Waiting for stop to finish
|
20 |
remote: Waiting for stop to finish
|
21 |
remote: Waiting for stop to finish
|
22 |
remote: Waiting for stop to finish
|
23 |
remote: Waiting for stop to finish
|
24 |
remote: Building git ref 'master', commit 46235a2
|
25 |
remote: Hello world. This is invoke before building |
26 |
remote: Checking .openshift/pear.txt for PEAR dependency..
|
27 |
remote: Do we need to run WordPress install
|
28 |
remote: Preparing build for deployment
|
29 |
remote: Deployment id is fe0803a9
|
30 |
remote: Activating deployment |
31 |
remote: Starting MySQL 5.5 cartridge |
32 |
remote: Starting PHPMyAdmin cartridge |
33 |
remote: Hello world. This is invoke when deploying |
34 |
remote: Copying WordPress plugins from .openshift/plugins |
35 |
remote: Copying WordPress themes from .openshift/themes |
36 |
remote: Copying custom file from .openshift/docroot |
37 |
remote: Database already configured. |
38 |
remote: Starting PHP 5.4 cartridge (Apache+mod_php) |
39 |
remote: Application directory "php/" selected as DocumentRoot
|
40 |
remote: Hello world. This is invoke after deploying |
41 |
remote: -------------------------
|
42 |
remote: Git Post-Receive Result: success |
43 |
remote: Activation status: success |
44 |
remote: Deployment completed with status: success |
45 |
To ssh://532bd7655004468bcf0000e1@demo2-tutsplus.rhcloud.com/~/git/demo2.git/ |
46 |
1f4ef8a..46235a2 master -> master |
47 |
☁ demo2 [master] curl http://openshift.axcoto.com/resume/my_resume.txt
|
48 |
Hi there |
49 |
☁ demo2 [master]
|
Latihan Anda
Gunakan folder php
di repositori Anda sebagai cara untuk menyimpan konten ini, daripada memperkenalkan .openshift/docroot
.
Petunjuk
app-deployments/current/repo
memiliki salinan repositori yang persis sama. Apa pun yang Anda miliki di komputer lokal Anda akan ada di sini.
Memecahkan masalah dan Memelihara
Di bagian sebelumnya, Anda tahu cara akses rremote ke aplikasi Anda dengan SSH. Setelah Anda masuk, Anda dapat menggunakan perintah Linux.
1 |
$ ssh 532bd7655004468bcf0000e1@demo2-tutsplus.rhcloud.com |
Namun, rhc datang dengan perintah ssh memungkinkan Anda untuk terhubung ke suatu aplikasi. Cepat dan mudah diingat.
1 |
$ rhc ssh demo2
|
Dari ini, Anda selalu dapat menggunakan help
untuk menampilkan perintah yang tersedia.
- tail_all: tail semua log Anda. Anda dapat melihat logging secara real time dengan perintah ini untuk semua roda gigi di sistem: seperti log akses Apache, log kesalahan MySQL.
- mysql membuat anda memakai ke dalam shell MySQL. Sangat berguna membandingkan dengan mengetikkan perintah mysql yang panjang dengan nama host, string pengguna dan kata sandi.
- export menunjukkan semua variabel lingkungan saat ini. Selama bekerja dengan skrip build, Anda dapat menggunakan perintah ini untuk melihat daftar variabel lingkungan yang tersedia.
- gear untuk mengontrol gear Anda: mulai, berhenti, restart. Seperti Anda dapat me-restart apache, hentikan mysql.
- snapshot snapshot mengambil backup penuh dari WordPress Anda saat ini dengan semua file, database dump, dan data media. Cara yang sangat baik untuk memiliki backup penuh situs Anda.
- quota menunjukan kuota disk Anda. Berguna saat Anda tidak dapat mengunggah ke WordPress lagi, Anda mungkin kehabisan ruang.
Mengambil Snapshot
rhc snapshot-save demo2
dump basis data Anda, kompres file media, dan kode sumber, kumpulkan file tar dan unduh untuk Anda.
1 |
$ rhc snapshot-save demo2 |
2 |
Pulling down a snapshot to demo2.tar.gz... |
3 |
Creating and sending tar.gz |
4 |
$ ls | grep tar.gz |
5 |
demo2.tar.gz |
Secara default, file tar dengan nama yang sama dengan aplikasi Anda dibuat. Simpan di suatu tempat untuk Anda santap. Setelah snapshot disimpan, Anda juga dapat memulihkannya.
1 |
$ rhc snapshot-restore demo2 |
2 |
Restoring from snapshot demo2.tar.gz... |
3 |
Removing old git repo: ~/git/demo2.git/ |
4 |
Removing old data dir: ~/app-root/data/* |
5 |
Restoring ~/git/demo2.git and ~/app-root/data |
Memeriksa Status Gear
Perintah gear
mengontrol status kartrid, mulai / berhenti. Seperti Anda mendapatkan kesalahan batas waktu saat mengunjungi domain Anda, atau kesalahan 404, 503, atau kesalahan basis data. Anda harus SSH ke aplikasi Anda dan memeriksa status gear:
1 |
[demo2-tutsplus.rhcloud.com 532bd7655004468bcf0000e1]\> gear statusCart to get the status for?1. mysql-5.52. php-5.43. phpmyadmin-4? 2ATTR: status=ALREADY_STOPPEDATTR: quota_blocks=1048576ATTR: quota_files=80000CLIENT_RESULT: Application is either stopped or inaccessible[demo2-tutsplus.rhcloud.com 532bd7655004468bcf0000e1]\> |
Jika dikatakan CLIENT_RESULT Application is either stopped or inaccessible, saya harus memulainya dengan:
1 |
[demo2-tutsplus.rhcloud.com 532bd7655004468bcf0000e1]\> gear start --cart php-5.4 |
2 |
Starting PHP 5.4 cartridge (Apache+mod_php) |
3 |
Application directory "php/" selected as DocumentRoot
|
4 |
[demo2-tutsplus.rhcloud.com 532bd7655004468bcf0000e1]\> |
1 |
# Confirm it's working now[demo2-tutsplus.rhcloud.com 532bd7655004468bcf0000e1]\> gear status
|
2 |
Cart to get the status for?
|
3 |
1. mysql-5.5 |
4 |
2. php-5.4 |
5 |
3. phpmyadmin-4 |
6 |
? 2 |
7 |
ATTR: quota_blocks=1048576 |
8 |
ATTR: quota_files=80000 |
9 |
CLIENT_RESULT: Application is running |
10 |
CLIENT_RESULT: % |
11 |
[demo2-tutsplus.rhcloud.com 532bd7655004468bcf0000e1]\> |
Log
tail_all menunjukkan Anda log yang selesai semua kartrid secara real time. Namun, jika Anda ingin melihat log individual, berikut adalah daftarnya:
- akses
php/logs
dan log kesalahan dari Apache dan MySQL -
mysql/log
logMySQL
Port Forwarding
Perintah rch port-forward
dapat membantu Anda membuat koneksi lokal ke layanan yang di-host (server Web, server Database ...). OpenShift secara otomatis memeriksa port yang tersedia pada sistem lokal Anda dan meneruskan satu ke port remote layanan yang berjalan. Melalui port forwarding, Anda dapat bekerja pada mesin lokal tetapi koneksi diteruskan ke mesin remote.
Mari kita coba dengan MySQL.
1 |
$ rhc port-forward demo2
|
2 |
Checking available ports ... done
|
3 |
Forwarding ports ... |
4 |
Address already in use - bind(2) while forwarding port 8080. Trying local port 8081 |
5 |
Address already in use - bind(2) while forwarding port 3306. Trying local port 3307 |
6 |
|
7 |
To connect to a service running on OpenShift, use the Local address |
8 |
|
9 |
Service Local OpenShift |
10 |
------- -------------- ---- ---------------- |
11 |
httpd 127.0.0.1:8080 => 127.2.126.1:8080
|
12 |
httpd 127.0.0.1:8081 => 127.2.126.3:8080
|
13 |
mysql 127.0.0.1:3307 => 127.2.126.2:3306
|
14 |
|
15 |
Press CTRL-C to terminate port forwarding |
Saya memiliki port 8080 dan 3306 untuk berbagai aplikasi saya. Karena itu, OpenShift mengambil 3307 untuk MySQL. Sekarang saya bisa menggunakan kredensial MySQL untuk terhubung dengannya dengan Sequel Pro. Jika Anda lupa kata sandi, Anda bisa mendapatkannya lagi di dashboard OpenShift atau SSH ke server, dan masalah:
1 |
[demo2-tutsplus.rhcloud.com 532bd7655004468bcf0000e1]\> export | grep MYSQL |
2 |
declare -x OPENSHIFT_MYSQL_DB_HOST="127.2.126.2" |
3 |
declare -x OPENSHIFT_MYSQL_DB_LOG_DIR="/var/lib/openshift/532bd7655004468bcf0000e1/mysql//log/" |
4 |
declare -x OPENSHIFT_MYSQL_DB_PASSWORD="DyANqgKAFbTT" |
5 |
declare -x OPENSHIFT_MYSQL_DB_PORT="3306" |
6 |
declare -x OPENSHIFT_MYSQL_DB_SOCKET="/var/lib/openshift/532bd7655004468bcf0000e1/mysql//socket/mysql.sock" |
7 |
declare -x OPENSHIFT_MYSQL_DB_URL="mysql://adminL1GxwjI:DyANqgKAFbTT@127.2.126.2:3306/" |
8 |
declare -x OPENSHIFT_MYSQL_DB_USERNAME="adminL1GxwjI" |
9 |
declare -x OPENSHIFT_MYSQL_DIR="/var/lib/openshift/532bd7655004468bcf0000e1/mysql/" |
10 |
declare -x OPENSHIFT_MYSQL_IDENT="redhat:mysql:5.5:0.2.9" |
11 |
declare -x OPENSHIFT_MYSQL_LD_LIBRARY_PATH_ELEMENT="/opt/rh/mysql55/root/usr/lib64" |
Menggunakan Sequel Pro untuk terhubung dengannya.



Sinkronisasi Lingkungan Lokal dan Langsung
Semua orang suka mengembangkan pada mesin lokal daripada mengunggah ke server untuk menguji atau mengevaluasi fitur. Anda dapat mengekspor data dari host langsung dan mengimpor pada mesin lokal untuk tujuan itu seperti dalam tutorial ini. Namun, proses ekspor itu menyebalkan. Data bisa besar, lebih lama dan lebih lama untuk ekspor/impor. Memperbaiki bug juga lebih sulit. Jika bug hanya terjadi pada posting/halaman tertentu di situs langsung, tanpa memproduksi ulang konten posting/halaman yang tepat, akan sulit untuk melakukan debug pada lingkungan lokal.
Atau jika Anda adalah tim remote, dan tim Anda membuat banyak pos pengujian pada area staging/testing (hosting di OpenShift), akan lebih baik jika Anda memiliki cara yang baik untuk hanya menyinkronkan semuanya kembali, khususnya data gambar .
Oleh karena itu, saya mengusulkan metode untuk mencapainya dengan: port forwarding dan mengedit file host. Menggunakan port forwarding seperti yang kita lihat di atas, kita dapat mengakses MySQL dengan mudah dari mesin lokal. Dengan bantuan mengedit file host, kita dapat mengarahkan domain openshift.axcoto.com ke mesin lokal, alih-alih ke OpenShift. Dalam repositori clone kami, kami memiliki folder php
kosong. Saat menyebarkan, folder itu diganti dengan tautan simbolis ke root dokumen Apache. Sekarang, kita akan menggunakan folder itu sebagai root dokumen pada mesin lokal kita. Ingat struktur repositori lagi, di komputer saya.
1 |
☁ demo2 [master] ⚡ pwd |
2 |
/Users/kureikain/Sites/demo2 |
3 |
☁ demo2 [master] ⚡ ls -la |
4 |
total 24 |
5 |
drwxr-xr-x 10 kureikain staff 340 Mar 21 00:39 .
|
6 |
drwxr-xr-x@ 57 kureikain staff 1938 Mar 21 00:38 .. |
7 |
drwxr-xr-x 16 kureikain staff 544 Mar 28 01:20 .git |
8 |
-rw-r--r-- 1 kureikain staff 9 Mar 21 00:39 .gitignore
|
9 |
drwxr-xr-x 11 kureikain staff 374 Mar 25 23:42 .openshift |
10 |
-rw-r--r-- 1 kureikain staff 2243 Mar 21 00:39 README
|
11 |
-rw-r--r-- 1 kureikain staff 2201 Mar 21 00:39 README.md
|
12 |
drwxr-xr-x 3 kureikain staff 102 Mar 21 00:39 libs |
13 |
drwxr-xr-x 3 kureikain staff 102 Mar 21 00:39 misc |
14 |
drwxr-xr-x 7 kureikain staff 238 Mar 28 01:05 php |
Perhatikan bahwa, untuk berhasil pada metode ini, Anda harus menambahkan apa pun yang Anda miliki di wp-content/plugins (default WordPress 3.8.1 plugins) dan wp-content/themes (default WordPress 3.8.1 themes) di OpenShift ke dalam repositori Git Anda. Anda dapat mengunduhnya melalui scp atau SFTP seperti yang kita bahas di artikel sebelumnya, atau Anda dapat mengunduh yang default dari WordPress.
Pastikan repositori .openshift/themes
dan .openshift/plugins
Anda memiliki hal yang sama dengan folder wp-content/themes
dan folder wp-content/plugins
dari aplikasi WordPress di OpenShift.
Langkah 1: Port Forwarding
Menggunakan perintah rhc port-forward demo2
, dengan demo2 adalah aplikasi saya. Ubah ke nama aplikasi Anda.
Langkah 2: Host Virtual
Menggunakan Apache, kami akan menambahkan satu lagi entri untuk titik domain kami, tahan folder WordPress kami. Tergantung pada OS Anda, Anda mungkin memiliki lokasi berbeda untuk konfigurasi Apache. Itu bisa /etc/apache2
atau /etc/httpd
.
Sebagai contoh, di Mac saya, ini /etc/apache2
. Saya akan menambahkan kode di bawah ini ke /etc/apache2/httpd.conf
saya, atau /etc/apache2/extra/httpd-vhosts.conf
bergantung pada OS Anda, atau di tempat yang Anda inginkan.
1 |
<VirtualHost *:80> |
2 |
ServerName openshift.axcoto.com |
3 |
DocumentRoot "/Users/kureikain/Sites/demo2/php" |
4 |
<Directory "/Users/kureikain/Sites/demo2/php"> |
5 |
Order allow,deny |
6 |
Allow from all |
7 |
</Directory> |
8 |
</VirtualHost> |
- https://code.tutsplus.com/articles/apache-2-basic-configuration-on-unix-like-systems--net-26607
- http://code.tutsplus.com/articles/how-to-setup-a-wordpress-development-environment-for-windows--wp-2...
- http://code.tutsplus.com/tutorials/wordpress-development-and-deployment-with-mamp-git-and-dropbox--w...
Langkah 3: Variabel lingkungan
Saat berjalan di mesin lokal Anda, Anda tidak akan memiliki variabel lingkungan yang tersedia. Kita harus mendefinisikan di suatu tempat. Untuk permulaan yang sederhana, saya lebih suka menempatkan variabel ini langsung di file konfigurasi Apache dengan arah SetEnv.
Entri host virtual kami menjadi:
1 |
<VirtualHost *:80>
|
2 |
SetEnv OPENSHIFT_SECRET_TOKEN "kCsELz-GJnho4I0M9XemTiZ47Jn4_QCSONFL5We8zw3Tgg572ivNEQQgZeIKQkTo2kE> SetEnv OPENSHIFT_APP_UUID 532bd7655004468bcf0000e1 SetEnv OPENSHIFT_APP_NAME demo2
|
3 |
SetEnv OPENSHIFT_MYSQL_DB_USERNAME adminL1GxwjI
|
4 |
SetEnv OPENSHIFT_MYSQL_DB_PASSWORD DyANqgKAFbTT
|
5 |
SetEnv OPENSHIFT_MYSQL_DB_HOST "127.0.0.1" |
6 |
SetEnv OPENSHIFT_MYSQL_DB_PORT 3307
|
7 |
|
8 |
ServerName openshift.axcoto.com
|
9 |
ServerAdmin webmaster@dummy-host2.example.com
|
10 |
DocumentRoot "/Users/kureikain/Sites/demo2/php" |
11 |
<Directory "/Users/kureikain/Sites/demo2/php"> |
12 |
Order allow,deny
|
13 |
Allow from all
|
14 |
</Directory>
|
15 |
|
16 |
ErrorLog "/var/log/apache2/openshift.axcoto.com-error_log" |
17 |
CustomLog "/var/log/apache2/openshift.axcoto.com-access_log" common |
18 |
|
19 |
</VirtualHost>
|
Langkah 4: Mengubah Host File
openshift.axcoto.com dikonfigurasi untuk mengarah ke OpenShift. Namun, kita dapat menimpanya dengan secara langsung mengedit /etc/hosts
. Buka file itu dengan editor favorit Anda dan tambahkan
1 |
127.0.0.1 openshift.axcoto.com |
1 |
☁ ~ ping openshift.axcoto.com |
2 |
PING openshift.axcoto.com (127.0.0.1): 56 data bytes |
3 |
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.055 ms |
4 |
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.165 ms |
5 |
^C |
6 |
--- openshift.axcoto.com ping statistics --- |
7 |
2 packets transmitted, 2 packets received, 0.0% packet loss |
8 |
round-trip min/avg/max/stddev = 0.055/0.110/0.165/0.055 ms
|
Jika Anda ingin mengunjungi aplikasi nyata di OpenShift, komentari baris itu di /etc/hosts. Beri "#" untuk dikomentari:
1 |
# 127.0.0.1 openshift.axcoto.com |
Langkah 5: Tarik File Inti WordPress dan Sinkronkan Media Dari Situs Live
Akhirnya, kita harus menyalin file media dan WordPress ke lingkungan lokal kita. Kami juga membuat tautan simbolis untuk mengarahkan php/wp-content/themes
ke .openshift/theme
. Konsep yang sama berlaku untuk plugin, php/wp-content/plugins
menunjuk ke .openshift/plugins
. Dengan cara ini kita dapat bekerja pada .openshift/themes dan .openshift/plugins
dan dapat menyegarkan browser untuk melihat perubahan kita.
1 |
$ cd php |
2 |
$ rm -rf ./*# make snapshot to the specified file name.$ rhc snapshot save demo2 --filepath snap.tar.gz# extract it$ tar xzf snap.tar.gz# we got it now$ ls |
3 |
532bd7655004468bcf0000e1 snap.tar.gz# the 532bd7655004468bcf0000e1 is out extracted snapshot |
4 |
# it can be different on you app.
|
5 |
$ cp -rf 532bd7655004468bcf0000e1/app-root/data/current/* |
6 |
# link the themes folder
|
7 |
$ ln -s `pwd`/../.openshift/themes wp-content/themes#link the plugin folder$ ln -s `pwd`/../.openshift/plugins wp-content/plugins |
8 |
# Link .openshift folder itself because it has some special thing inside$ ln -s `pwd`/../.openshift .openshift# copy upload files
|
9 |
$ cp -rf 532bd7655004468bcf0000e1/app-root/data/uploads wp-content |
10 |
|
11 |
# clean up
|
12 |
$ rm -rf 532bd7655004468bcf0000e1 snap.tar.gz |
Pertama kali Anda ingin menyinkronkan data, Anda menjalankan perintah ini; Namun, sejak kedua kalinya, kami tidak ingin menarik semua file karena sebagian file ada di sana. Pilihan yang lebih baik hanya menyinkronkan file unggahan. Kita dapat melakukannya dengan scp:
1 |
$ cd ~/Site/demo2/php |
2 |
$ scp -r 532bd7655004468bcf0000e1@demo2-tutsplus.rhcloud.com:app-root/data/uploads wp-content/ |
Atau dengan rsync. Rsync jauh lebih baik karena hanya mengunduh file yang tidak ada. File yang sama tidak akan diunduh lagi.
1 |
$ cd ~/Site/demo2/php$ rsync -av --partial --progress --rsh="ssh " 532bd7655004468bcf0000e1@demo2-tutsplus.rhcloud.com:app-root/data/uploads wp-content |
Anda dapat melangkah lebih jauh, memasukkan perintah-perintah ini ke dalam skrip shell dan melacaknya dengan repositori Git Anda juga. Aku akan meninggalkan bagian itu untukmu :)
Anda mungkin ingin mengabaikan file di dalam php karena file itu hanya untuk pengujian/berjalan di komputer lokal. Tidak perlu melacaknya.
1 |
$ echo "php/*" >> .gitignore |
Langkah 6: Administrasi melalui SSL (Opsional)
wp-config.php
, yang dihasilkan OpenShift, didefinisikan untuk melayani administrator melalui SSL
1 |
<?php
|
2 |
// wp-config.php
|
3 |
//...
|
4 |
|
5 |
/**
|
6 |
* We prefer to be secure by default
|
7 |
*/
|
8 |
define('FORCE_SSL_ADMIN', true); |
wp-config.php
dan mengatur FORCE_SSL_ADMIN
menjadi false. Jika Anda ingin tantangan, dan ingin mencobanya untuk menjalankan koneksi SSL maka inilah instruksinya.
Menghasilkan sertifikat SSL
Ini adalah sertifikat tanda tangan yang berarti peramban tidak akan mempercayainya. Tidak apa-apa karena kami masih mengerjakan lokal dan Anda bisa menambahkan pengecualian ketika browser memberikan peringatan yang tidak dipercaya.
1 |
$ sudo mkidr -p /etc/apache2/ssl |
2 |
# make sure you type correct domain |
3 |
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt |
Kami membuat folder /etc/apache2/ssl
, kemudian menghasilkan sertifikat dan kunci ke folder itu. Kami akan mengkonfigurasi titik apache ke dua file ini nanti.
Mendefinisikan Entri Virtual Host
Buka /etc/apache/httpd.conf
Anda (sekali lagi, file konfigurasi Apache Anda dapat berada di folder yang berbeda, seperti /etc/httpd
), temukan baris Listen 80
dan tambahkan Listen 443
1 |
Listen 80 |
2 |
Listen 443 |
Di atas /etc/apache2/extra/httpd-vhost.conf
Anda, temukan baris NameVirtualHost *: 80
dan tambahkan
1 |
NameVirtualHost *:443 |
Selanjutnya, kami mendefinisikan satu entri lagi di virtual host untuk port 443. Kami hanya menduplikasi definisi sebelumnya dengan port 80, tapi kali ini, kami menambahkan beberapa definisi SSL.
1 |
<VirtualHost *:443>
|
2 |
|
3 |
SetEnv OPENSHIFT_SECRET_TOKEN "kCsELz-GJnho4I0M9XemTiZ47Jn4_QCSONFL5We8zw3Tgg572ivNEQQgZeIKQkTo2kEwUHWjpsO7fhy1FeVqDlyRzSsKg6-fWNDWJaj9hO65nwVqE5auj35R2F9RNvEk"
|
4 |
SetEnv OPENSHIFT_APP_UUID 532bd7655004468bcf0000e1 |
5 |
SetEnv OPENSHIFT_APP_NAME demo2 |
6 |
SetEnv OPENSHIFT_MYSQL_DB_USERNAME adminL1GxwjI |
7 |
SetEnv OPENSHIFT_MYSQL_DB_PASSWORD DyANqgKAFbTT |
8 |
SetEnv OPENSHIFT_MYSQL_DB_HOST "127.0.0.1"
|
9 |
SetEnv OPENSHIFT_MYSQL_DB_PORT 3307 |
10 |
|
11 |
ServerName openshift.axcoto.com |
12 |
ServerAdmin webmaster@dummy-host2.example.com |
13 |
DocumentRoot "/Users/kureikain/Sites/demo2/php"
|
14 |
<Directory "/Users/kureikain/Sites/demo2/php"> |
15 |
Order allow,deny |
16 |
Allow from all |
17 |
</Directory> |
18 |
|
19 |
ErrorLog "/var/log/apache2/openshift.axcoto.com-error_log"
|
20 |
CustomLog "/var/log/apache2/openshift.axcoto.com-access_log" common
|
21 |
|
22 |
SSLEngine On |
23 |
SSLCertificateFile /etc/apache2/ssl/apache.crt |
24 |
SSLCertificateKeyFile /etc/apache2/ssl/apache.key |
25 |
|
26 |
<Location /> |
27 |
SSLRequireSSL On |
28 |
SSLVerifyClient optional |
29 |
SSLVerifyDepth 1 |
30 |
SSLOptions +StdEnvVars +StrictRequire |
31 |
</Location> |
32 |
|
33 |
</VirtualHost> |
Perhatikan path file sertifikat SSL. Restart Apache dengan
sudo apachectl restart
. Sekarang, Anda dapat mengakses dasbor Anda melalui SSL. Ini adalah instalasi WordPress saya, berjalan sepenuhnya lokal dengan database yang sama dari situs live, dan data media disinkronkan.


Kesimpulan
Sepanjang seri ini, kami memperoleh banyak pengetahuan tentang OpenShift. Anda seharusnya tidak dapat dengan mudah menginstal dan mengkonfigurasi WordPress di OpenShift. Dengan bantuan rhc client
, Anda dapat dengan cepat mengkonfigurasi atau melihat informasi aplikasi dari terminal.
Kami juga membahas skrip pembuatan dan penyebaran sehingga Anda dapat menyesuaikan aplikasi Anda dengan kebutuhan Anda seperti menunjukkan spanduk khusus, dan dorongan ke HipChat selama penyebaran. Anda bahkan dapat menyinkronkan data antara komputer lokal Anda dan OpenShift. Saya harap Anda menikmati tutorial dan OpenShift ini.
Meninggalkan komentar agar kami tahu kabar Anda. Jika Anda mengalami masalah, beri tahu saya di komentar, saya ingin membantu.