Friday, October 20, 2023

 


Ini contoh settingan vhost dengan use case apabila domain diakses melalui protocol http akan direwrite menjadi https.

<VirtualHost *:80>

    ServerAdmin kumkum@localhost


    ServerName mystique-inventory.binajaya.com

    ServerAlias www.mystique-inventory.binajaya.com



    ErrorLog ${APACHE_LOG_DIR}/mystique-inventory.binajaya-itsolution.com_error.log

    CustomLog ${APACHE_LOG_DIR}/mystique-inventory.binajaya-itsolution.com_access.log combined


    RewriteEngine on

    RewriteCond %{SERVER_NAME} =www.mystique-inventory.binajaya.com [OR]

    RewriteCond %{SERVER_NAME} =mystique-inventory.binajaya.com

    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

</VirtualHost>


<VirtualHost *:443>

        ServerAdmin kumkum@localhost


        ServerName mystique-inventory.binajaya.com

        ServerAlias www.mystique-inventory.binajaya.com


        DocumentRoot /var/www/html/mystique-inventory


        <Directory /var/www/html/mystique-inventory>

                Options -Indexes +FollowSymLinks

                AllowOverride All

        </Directory>


        ErrorLog ${APACHE_LOG_DIR}/mystique-inventory.binajaya.com_error.log

    CustomLog ${APACHE_LOG_DIR}/mystique-inventory.binajaya.com_access.log combined


        SSLEngine on

        SSLCertificateFile /etc/ssl/mystique/mystique.crt

        SSLCertificateKeyFile /etc/ssl/mystique/mystique.key

        #SSLCertificateChainFile /etc/ssl/mystique/ca-bundle.crt

</VirtualHost>

setelah dibuat filenya, ingat enable conf nya dengan command a2ensite pada ubuntu, dan service apache2 reload




 

Contoh generate key dan crt file untuk ssl cert menggunakan openssl

mkdir /etc/ssl/mystique

cd /etc/ssl/mystique

openssl genrsa -des3 -passout pass:x -out keypair.key 2048

openssl rsa -passin pass:x -in keypair.key -out mystique.key

openssl req -new -key mystique.key -out mystique.csr

openssl x509 -req -days 365 -in mystique.csr -signkey mystique.key -out mystique.crt

Disesuaikan dengan kebutuhan masing-masing nantinya..

kemudian file crt dan key diregisterkan pada file default-ssl.conf nya apache yak..



 


Langsung aja dah, ini example dari docker-compose.yml file..

version: '3'
services:
  simrs-api:
    container_name: simrs-api
    image: php:8.3-apache
    restart: unless-stopped
    links:
      - "database-api:database-api"
    ports:
      - 8080:80
    volumes:
      - [YOUR_APP_LOCATION]:/var/www/html
    networks:
      web_proxy:
        ipv4_address: 10.10.50.4
  database-api:
    container_name: database-api
    image: mariadb:lts
    restart: unless-stopped
    environment:
      MARIADB_ROOT_PASSWORD: secret123
    ports:
      - 3306:3306
    volumes:
      - [YOUR_DATABASE_LOCATION]:/var/lib/mysql
    networks:
      web_proxy:
        ipv4_address: 10.10.50.5

networks:
  web_proxy:
    ipam:
      driver: default
      config:
        - subnet: 10.10.50.0/24
#IF USE EXTERNAL CONFIG
#    external: true

Penjelasannya menyusul deh.. lagi mager.. wkwkwkwk..




 


Hola..

Postingan kali ini akan membahas mengenai contoh membuat Dockerfile..

Yah ini hanya contoh, dokumentasi aja biar nanti kalo buat lagi gak bingung nyari contohnya..

Langsung aja deh kalau begitu, ini dia contohnya :


FROM composer:latest AS composer

FROM php:8.3-rc-apache-buster

COPY --from=composer /usr/bin/composer /usr/bin/composer
ENV COMPOSER_HOME=/.composer
ENV COMPOSER_ALLOW_SUPERUSER=1

ENV DEBIAN_FRONTEND noninteractive

RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
RUN apt update && apt upgrade -y
RUN apt install -y libbz2-dev zlib1g-dev \
        libpng-dev libicu-dev libpq-dev \
        curl apt-transport-https wget \
        zip libzip-dev
RUN apt install -y libxslt-dev libmagickwand-dev --no-install-recommends

RUN     docker-php-ext-install bcmath bz2 exif ffi \
            gd gettext intl mysqli opcache pcntl \
            pdo_mysql pdo_pgsql pgsql shmop sockets \
            sysvmsg sysvsem sysvshm xsl zip

RUN mkdir -p /usr/src/php/ext/imagick; \
    curl -fsSL https://github.com/Imagick/imagick/archive/06116aa24b76edaf6b1693198f79e6c295eda8a9.tar.gz | tar xvz -C "/usr/src/php/ext/imagick" --strip 1; \
    docker-php-ext-install imagick;

#ODBC_DRIVER INSTALL
RUN curl https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc

#Debian 11
RUN curl https://packages.microsoft.com/config/debian/10/prod.list | tee /etc/apt/sources.list.d/mssql-release.list

RUN apt-get update
RUN ACCEPT_EULA=Y apt-get install -y msodbcsql17
# optional: for bcp and sqlcmd
RUN ACCEPT_EULA=Y apt-get install -y mssql-tools
RUN echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
RUN ["/bin/bash", "-c", "source ~/.bashrc"]
# optional: for unixODBC development headers
RUN apt-get install -y unixodbc-dev
# optional: kerberos library for debian-slim distributions
RUN apt-get install -y libgssapi-krb5-2

RUN cp /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf.bak
COPY openssl.cnf /etc/ssl/openssl.cnf

RUN pecl config-set php_ini /usr/local/etc/php/php.ini
RUN pecl install sqlsrv pdo_sqlsrv
RUN docker-php-ext-enable sqlsrv pdo_sqlsrv

RUN apt-get install -y tzdata
ENV TZ=Asia/Makassar
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN sed -i 's/;date.timezone =/date.timezone = "Asia\/Makassar"/g' /usr/local/etc/php/php.ini

RUN a2enmod rewrite ssl userdir alias mime
RUN service apache2 restart

EXPOSE 80
EXPOSE 443

Dockerfile diatas adalah dockerfile untuk membuat docker php:8.3 include composer didalamnya dan sudah mengaktifkan beberapa php modul

Monday, April 3, 2023

Untuk membangun sebuah webserver, biasanya diperlukan applikasi webservice, library bahasa pemrograman yang dipakai, misalnya PHP, dan biasanya dibutuhkan sebuah Database Engine sepertu MySQL atau MariaDB.

Kali ini, akan ditampilkan tutorial install dari Apache2 sebagai webengine, PHP 8.1 sebagai library bahasa pemrograman yang dipakai, dan MariaDB sebagai Database Enginenya pada system operasi Ubuntu Server.


APACHE

Apache merupakan webservice yang umum digunakan dalam pembuatan webserver. Tahap installasi apache tidaklah sulit, cukup menginputkan beberapa code dibawah ini.


sudo apt update

sudo apt install apache2


Apabila diminta memasukkan password, silahkan dimasukkan, dan apabila diminta confirmasi install (Y/N) silahkan dimasukkan Y, kemudian tunggu proses installasi sampai selesai. Apabila sudah selesai, dapat diperiksa apakah service apache2 yang diinstall sudah berjalan atau belum dengan mengetikkan comand berikut.


sudo systemctl status apache2


atau dapat juga dengan


sudo service apache2 status



Untuk uji cobanya karena installasi dilakukan di ubuntu server yang tidak memiliki browser, maka dilakukan melalui PC Client yang dapat terhubung secara network dengan server.

Sebelum melakukan uji coba, harus diketahui ip dari server. Untuk mengetahui ip address pada Ubuntu Server 22.04, dapat dilakukan melalui command sebagai berikut


ip addr



Seperti pada gambar di atas, interface enp0s3 merupakan interface yang terkoneksi dengan network client, dan terlihat bahwa ip address dari server adalah 192.168.56.101/24. Untuk memastikan bahwa client dapa terkoneksi dengan server, dilakukan dengan cara melakukan ping ke ip server dari pc client.


Dari gambar terlihat bahwa ping ke ip server berhasil dilakukan, terlihat dari statistics dari 5 packets yang dikirim, diterima 5, dan 0% packet loss. Apabila sudah sukses untuk ping, dapat dilanjutkan dengan uji coba melalui client browser dengan cara mengetikkan ip server pada address bar browser.



Gambar di atas menunjukkan proses install apache2 sudah berhasil dan sudah dapat di akses.



IG Cang Ne!! @adi_kumkum