Google Compute Engine - MappingSystem/Tutorial-Buka-Toko GitHub Wiki
Lihat:
- Setel variabel lingkungan
Lihat Setting Up LAMP
$ sudo apt-get install apache2 php libapache2-mod-php
$ sudo /usr/sbin/apachectl start
$ sudo chkconfig apache2ctl on
$ sudo sh -c 'echo "<?php phpinfo();?>" > /var/www/html/phpinfo.php'
Cek http://[IP_ADDRESS]
dan http://[IP_ADDRESS]/phpinfo.php
/etc/apache2/
|-- apache2.conf
| `-- ports.conf
|-- mods-enabled
| |-- *.load
| `-- *.conf
|-- conf-enabled
| `-- *.conf
|-- sites-enabled
| `-- *.conf
Konfigurasi Apache2 Ubuntu
- File konfigurasi utama adalah
apache2.conf
. Ini menempatkan potongan-potongan bersama dengan memasukkan semua file konfigurasi yang tersisa ketika memulai server web,* ports.conf
selalu disertakan dari file konfigurasi utama. Ini digunakan untuk menentukan port mendengarkan untuk koneksi masuk, dan file ini dapat disesuaikan kapan saja. - File-file konfigurasi di direktori-direktori
mod-enabled /
,conf-enabled /
danenabled-enabled /
berisi cuplikan-cuplikan konfigurasi tertentu yang masing-masing mengelola modul, fragmen konfigurasi global, atau konfigurasi host virtual. Mereka diaktifkan dengan menghubungkan file-file konfigurasi yang tersedia dari masing-masing* -tersedia /
rekan. Ini harus dikelola dengan menggunakana2enmod
pembantu kami,a2dismod
,a2ensite
,a2dissite
, dana2enconf
,a2disconf
. Lihat halaman manual masing-masing untuk informasi terperinci. - Biner disebut
apache2
. Karena penggunaan variabel lingkungan, dalam konfigurasi default,apache2
perlu dimulai / dihentikan dengan/etc/init.d/apache2
atauapache2ctl
. Memanggil/ usr / bin / apache2
secara langsung tidak akan berfungsi dengan konfigurasi default. - Root Dokumen Secara default, Ubuntu tidak mengizinkan akses melalui browser web ke file apa pun selain dari yang terletak di
/ var / www
, direktoripublic_html (bila diaktifkan) dan <code>/ usr / share
(untuk aplikasi web). Jika situs Anda menggunakan root dokumen web yang terletak di tempat lain (seperti di/ srv)
, Anda mungkin perlu memasukkan daftar putih direktori root dokumen Anda di/etc/apache2/apache2.conf
. - Root dokumen default Ubuntu adalah
/ var / www / html. Anda dapat membuat host virtual sendiri di bawah <code>/ var / www
. Ini berbeda dengan rilis sebelumnya yang memberikan keamanan yang lebih baik.
apache2-doc
tersedia di: /usr/share/doc/apache2/README.Debian.gz
Lihat Setting up PostgreSQL
$ sudo apt-get -y install postgresql postgresql-client postgresql-contrib
$ sudo -s
root@instance-sql:~# sudo -u postgres psql postgres
postgres=# SELECT version();
version
--------------------------------------------------------------------------------------------------------------
PostgreSQL 9.3.24 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4, 64-bit
(1 row)
Untuk ubah versi lihat Cek Port, Ubah Port atau Disable Versi
$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
9.5 main 5433 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
10 main 5434 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
$ sudo nano /etc/postgresql/9.3/main/start.conf
#ubah 'auto' ke 'disabled'
$ sudo nano /etc/postgresql/10/main/start.conf
#ubah 'auto' ke 'disabled'
Edit File pg_hba.conf
dan postgresql.conf
$ sudo nano /etc/postgresql/9.5/main/postgresql.conf
#hapus tagar dan ubah 'localhost' ke '*' dan
#ubah '5433' ke '5432'
$ sudo nano /etc/postgresql/9.5/main/pg_hba.conf
#tambahkan di baris paling bawah
#host all all 0.0.0.0/0 trust
Restart postgres dan cek database
$ sudo service postgresql restart
$ sudo -s
root@instance-sql:~# sudo -u postgres psql postgres
postgres=# SELECT version();
version
-------------------------------------------------------------------------------------------------------------------
PostgreSQL 9.5.14 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609, 64-bit
(1 row)
postgres=# \password postgres
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION
postgres=# \q
root@instance:~# exit
exit
$
Buat Superuser dan database saleor
$ psql "host=127.0.0.1 sslmode=disable dbname=saleor user=saleor"
saleor=# CREATE EXTENSION adminpack;
saleor=# \q
Koneksi
$ gcloud compute instances add-tags instance-sql --tags postgres-server
$ gcloud compute firewall-rules create "postgres-remote-access" \
--allow tcp:5432 --source-tags "postgres-client" \
--target-tags "postgres-server"
$ psql "host=[IPV4_ADDRESS] port=5432 Modesto=disable dbname=saleor user=saleor"
$ psql -h [IPV4_ADDRESS] -p 5432 -U saleor
$ psql postgresql://saleor:saleor@[IPV4_ADDRESS]:5432/saleor
$ psql postgres://saleor:saleor@[IPV4_ADDRESS]/saleor
Lihat Set Up MySQL dan connect to MySQL
$ sudo apt-get -y install mysql-server
$ sudo mysql_secure_installation
$ sudo mysql --user=root -p[ROOT_PASSWORD] -e "show databases"
$ sudo mysql -u root -p admin
mysql> CREATE DATABASE dbname;
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' WITH GRANT OPTION;
mysql> SELECT User FROM mysql.user;
mysql > exit
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
cat bind-address = 0.0.0.0
$ sudo service mysql restart
Firewall
$ gcloud compute instances add-tags instance-sql --tags mysql-server
$ gcloud compute firewall-rules create "mysql-remote-access" \
--allow tcp:3306 --source-tags "mysql-client" \
--target-tags "mysql-server"
$ mysql --host=[IPV4_ADDRESS] -u wordpress -p
MySQL > exit
Lihat Set Up Redis
$ sudo apt-get -y install redis-server
$ ps -f -u redis
redis.conf
dan restart server
sudo service redis-server restart
$ ps -f -u redis
$ sudo apt install redis-tools
$ redis-cli -h [REDIS_IPV4_ADDRESS] ping
PONG
$ (printf "PING\r\n";) | nc [REDIS_IPV4_ADDRESS] 6379
+PONG
$ curl -w '\n' http://[REDIS_IPV4_ADDRESS]:6379/ping
{"ping":"PONG"}
$ exec 3<>/dev/tcp/[REDIS_IPV4_ADDRESS]/6379 && echo -e "PING\r\n" >&3 && head -c 7 <&3
+PONG
Firewall
$ gcloud compute instances add-tags instance-sql --tags redis-server
$ gcloud compute firewall-rules create "redis-remote-access" \
--allow tcp:6379 --source-tags "redis-client" \
--target-tags "redis-server"
Cara Koneksi lihat Cek Redis
$ redis-cli -h [IPV4_ADDRESS]
redis> ping
PONG
redis> set mykey somevalue
OK
redis> get mykey
"somevalue"
redis> exit
Lihat Install Git Server Linux dan Setel Git Server
$ do-release-upgrade
$ sudo apt-get update
$ sudo netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 874/redis-server 0.
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 636/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1065/sshd
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 902/postgres
tcp6 0 0 :::3306 :::* LISTEN 905/mysqld
tcp6 0 0 :::80 :::* LISTEN 891/apache2
tcp6 0 0 :::22 :::* LISTEN 1065/sshd
tcp6 0 0 :::5432 :::* LISTEN 902/postgres
Setiap Anda update server atau component sebaiknya Anda cek startup atau booting nya
Stop Instance, tunggu sampai berhenti, lalu start dan konek ke serial-port
$ gcloud compute connect-to-serial-port <nama-instance> --zone=<nama-zone>
instance systemd-resolved[882]: Server returned error NXDOMAIN, \
mitigating potential DNS violation DVE-2018-0001, \
retrying transaction with reduced feature level UDP.
Ini dikarenakan ada konfigurasi lama yang masih aktif.
Cara cari solusi: Googling: [SOLVED] Server returned error NXDOMAIN
Arternatif solusinya antara lain sbb
- Server returned error NXDOMAIN
- [SOLVED]Problems with DNS name resolution
- Domain resolving with NXDOMAIN or incorrect IP address
- [SOLVED]Ubuntu 18.04 systemd-resolved error NXDOMAIN
$ ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 29 Feb 9 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
$ sudo nano /run/resolvconf/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
search <zone>.c.<prject-id>.internal c.<prject-id>.internal google.internal sql
options edns0
$ test -e /run/systemd/resolve/resolv.conf && echo file exists || echo file not found
file exists
$ sudo nano /run/systemd/resolve/resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.
nameserver XXX.XXX.XXX.XXX
search <zone>.c.<prject-id>.internal c.<prject-id>.internal google.internal sql
options edns0
$ sudo ln -fs /run/systemd/resolve/resolv.conf /etc/resolv.conf
$ ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 32 Mar 11 /etc/resolv.conf -> /run/systemd/resolve/resolv.conf
Jika ternyata masih ada Warning seperti ini
Mar 11 04:02:57 instance resolvconf[341]: /etc/resolvconf/update.d/libc:
Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf
$ sudo dpkg-reconfigure resolvconf
ls -l /etc/resolv.conf
- https://serverfault.com/questions/895580/open-443-on-google-compute-instance
- Ubuntu's Kubernetes 1.14 distributions can bypass Docker and use containerd
directly, see https://bit.ly/ubuntu-containerd or try it now with
snap install microk8s --channel=1.14/beta --classic
- Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud