Tampilkan postingan dengan label Database. Tampilkan semua postingan
Tampilkan postingan dengan label Database. Tampilkan semua postingan

Install SQL Server Driver 18 untuk PHP 8 di Ubuntu 24.04 LTS

 Tambahkan repository dan key microsoft product 

curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
curl https://packages.microsoft.com/config/ubuntu/24.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update

Install Microsoft ODBC Driver SQL Server

sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18 unixodbc-dev

tambahkan repository Odrej untuk install PHP 8 dan update

sudo add-apt-repository ppa:ondrej/php -y
sudo apt-get update


Install PHP 8

sudo apt-get install -y php8.2-cli php8.2-dev php8.2-xml php-pear


Install Driver SQLSVR dan PDO_SQLSRV PHP

gunakan pecl untuk install PHP driver SQL Server

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

Buat file konfigurasi untuk mengaktifkan ekstensi yang diinstal
sudo bash -c "printf '; priority=20\nextension=sqlsrv.so\n' > /etc/php/8.2/mods-available/sqlsrv.ini"
sudo bash -c "printf '; priority=30\nextension=pdo_sqlsrv.so\n' > /etc/php/8.2/mods-available/pdo_sqlsrv.ini"

Kemudian, aktifkan ekstensi untuk PHP SAPI spesifik Anda (misalnya, cli dan fpm jika Anda menggunakan PHP-FPM dengan server web seperti Nginx)
sudo phpenmod -v 8.2 sqlsrv pdo_sqlsrv
sudo phpenmod -s fpm -v 8.2 sqlsrv pdo_sqlsrv # jika menggunakan PHP-FPM

Jika Anda menggunakan PHP dengan web server (seperti Apache atau Nginx), mulai ulang untuk memuat ekstensi baru
sudo systemctl restart apache2 # For Apache
sudo systemctl restart nginx php8.2-fpm # For Nginx with PHP-FPM

Source Code Shell Untuk Backup Database PostgreSql

untuk backup beberapa database PostgreSql secara otomatis bisa menggunakan Shell Script berikut :

1. buatlah file dengan ekstensi .sh
2. kemudian isilah source code dibawah ini :
#!/bin/sh
export PGPASSWORD="password_postgre_anda"
BACKUP_DIR="/data/backup_folder_anda/"

if [ $(date +%w) = 6 ]; then
  for a in $(date --date='8 days ago' +%Y%m%d) $(date --date='9 days ago' +%Y%m%d) $(date --date='10 days ago' +%Y%m%d) $(date --date='11 days ago' +%Y%m%d) $(date --date='12 days ago' +%Y%m%d) $(date --date='13 days ago' +%Y%m%d)
  do
    rm $BACKUP_DIR"Database1-"$a".sql" 2> /dev/null
    rm $BACKUP_DIR"Database2-"$a".sql" 2> /dev/null
  done
fi
/usr/bin/pg_dump NamaDatabase1 -U postgres -h localhost -x -O -f $BACKUP_DIR"Database1-"$(date +%Y%m%d)".sql"
/usr/bin/pg_dump NamaDatabase2 -U postgres -h localhost -x -O -f $BACKUP_DIR"Database2-"$(date +%Y%m%d)".sql"

Memindahahkan Data Direktori PostgreSQL di Linux Debian 9 Stretch

Masuk ke user postgres dengan command
su postgres

Masuk ke mode Postgresql dengan command
psql

Setalah masuk pada command aktif PostgreSQL, lihat data directory Postgresql tersimpan dengan command
SHOW data_directory;

Maka default directory nya akan tampil seperti di bawah
       data_directory       
------------------------------
/var/lib/postgresql/10/main
(1 row)

Setelah tahu dimana directory Postgresql di simpan, sekarang keluar dari mode aktif Postgresql dengan command
\q

Kemudian keluar dari user postgres dengan command
exit

Kemudian stop Postgresql dengan command
/etc/ini.d/postgresql stop

Membuat Folder (Directory) Postgresql  di /data/, dengan command
mkdir /data/postgresql

Copy directory Postgresql ke direktori yang dikehendaki, disini saya mencontohkan ke direktori /data/, adapan cara mengcopy-nya saya menggunakan rsync agar direktori tersebut tercopy secara utuh, adapun commandnya
rsync -av /var/lib/postgresql /data/postgresql

Rename directory default Postgresql menjadi backup, agar ketika terjadi masalah, kita dapat mengambilnya lagi dengan command
mv /var/lib/postgresql/10/main  /var/lib/postgresql/10/main.backup

Arahkan data direktori Postgresql ke direktori yang baru di /etc/postgresql/10/main/postgresql.conf dengan command
nano /etc/postgresql/10/main/postgresql.conf

Edit menjadi dibawah ini dan kemudian simpan
. . .
data_directory = '/data/postgresql/10/main'
. . .

Start/jalankan kembali postgresql dengan command
/etc/ini.d/postgresql start

kemudian cek kembali direktori Postgresql dengan mode aktif Postgresql seperti di atas

Install NextCloud di Debian 9 dengan Nginx SSL, PHP 7.1, dan MariaDB

Install nginx dengan command
apt-get install nginx

Install MariaDB dengan command
apt-get install mariadb-server mariadb-client

agar MariaDB aman maka lakukan command berikut
mysql_secure_installation

ketika muncul tampilan prompt, jawab sesuai di bawah ini :

  • Enter current password for root (enter for none): Just press the Enter
  • Set root password? [Y/n]: Y
  • New password: Enter password
  • Re-enter new password: Repeat password
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]:  Y
  • Reload privilege tables now? [Y/n]:  Y
kemudian restart MariaDB dengan command
/etc/ini.d/mysql restart

Install PHP 7.1 FPM dan Modul-modulnya 
Import signing key dan aktifkan PPA (Personal Package Archive) pihak ketiga dengan command
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list

Kemudian update debian anda dengan command
apt-get update

Jika terjadi error berikut ini :
Reading package lists... Done
E: The method driver /usr/lib/apt/methods/https could not be found.
N: Is the package apt-transport-https installed?
E: Failed to fetch https://packages.sury.org/php/dists/stretch/InRelease
E: Some index files failed to download. They have been ignored, or old ones used instead.

ketika error di atas berarti harus ada paket yang di install, dengan command 
apt-get install ca-certificates apt-transport-https
Kemudian lakukan update lagi.

Kemudian install PHP 7.1 beserta modulnya dengan command
apt-get install php7.1-fpm php7.1-common php7.1-mbstring php7.1-xmlrpc php7.1-soap php7.1-apcu php7.1-smbclient php7.1-ldap php7.1-redis php7.1-gd php7.1-xml php7.1-intl php7.1-json php7.1-imagick php7.1-mysql php7.1-cli php7.1-mcrypt php7.1-ldap php7.1-zip php7.1-curl

Edit configurasi PHP7.1 di /etc/php/7.1/fpm/php.ini dengan command
nano /etc/php/7.1/fpm/php.ini

kemudian edit konfigurasi seperti dibawah ini dan save : 
file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 64M
max_execution_time = 360
cgi.fix_pathinfo = 0
date.timezone = America/Chicago

Membuat Database NextCloud 
Sebelum membuat database kita harus masuk mysql dengan user root dengan command
mysql -u root -p 

Buat database dengan nama nextcloud dengan command
CREATE DATABASE nextcloud;

Buat user dengan nama nextclouduser beserta passwordnya dengan command 
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'new_password_here';

Beri akses full user tersebut ke database dengan command
GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

Simpan pergantiannya dan kemudian keluar dari mode mysql dengan command
FLUSH PRIVILEGES;
EXIT;

Download NextCloud Terbaru
Download NextCloud Terbaru di Website resminya dengan command
wget https://download.nextcloud.com/server/releases/nextcloud-15.0.0.zip

Install unzip untuk ekstrak nextcloud dengan command
apt-get install unzip

Kemudian extract nextcloud dengan command
unzip nextcloud-15.0.0.zip

Pindahkan extract nextcloud ke /var/www/html/
mv nextcloud/  /var/www/html/

Beri hak akses ke folder nextcloud dengan command
chown -R www-data:www-data /var/www/html/nextcloud/
chmod -R 755 /var/www/html/nextcloud/

Membuat Sertificate SSL untuk Nginx dengan OpenSSL
Pembuatan sertifikat SSL untuk Nginx dengan OpenSSL dengan command
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/nginx.key -out /etc/ssl/nginx.crt

Konfigurasi Nginx Agar Dapat Menjalankan NextCloud
Edit konfigurasi nginx di /etc/nginx/sites-available/default dengan command
nano /etc/nginx/sites-available/nextcloud

Masukkan konfigurasi seperti berikut ini :
server {
    listen 80;
    server_name _;
    autoindex on;
    # Add headers to serve security related headers
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;

    # Path to the root of your installation
    root /var/www/html/nextcloud/;

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    # The following 2 rules are only needed for the user_webfinger app.
    # Uncomment it if you're planning to use this app.
    #rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
    #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
    # last;

    location = /.well-known/carddav {
        return 301 $scheme://$host/remote.php/dav;
    }
    location = /.well-known/caldav {
       return 301 $scheme://$host/remote.php/dav;
    }

    location ~ /.well-known/acme-challenge {
      allow all;
    }

    # set max upload size
    client_max_body_size 512M;
    fastcgi_buffers 64 4K;

    # Disable gzip to avoid the removal of the ETag header
    gzip off;

    # Uncomment if your server is build with the ngx_pagespeed module
    # This module is currently not supported.
    #pagespeed off;

    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;

    location / {
       rewrite ^ /index.php$uri;
    }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
       deny all;
    }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
       deny all;
     }

    location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
       include fastcgi_params;
       fastcgi_split_path_info ^(.+\.php)(/.*)$;
       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       fastcgi_param PATH_INFO $fastcgi_path_info;
       #Avoid sending the security headers twice
       fastcgi_param modHeadersAvailable true;
       fastcgi_param front_controller_active true;
       fastcgi_pass unix:/run/php/php7.1-fpm.sock;
       fastcgi_intercept_errors on;
       fastcgi_request_buffering off;
    }

    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
       try_files $uri/ =404;
       index index.php;
    }

    # Adding the cache control header for js and css files
    # Make sure it is BELOW the PHP block
    location ~* \.(?:css|js)$ {
        try_files $uri /index.php$uri$is_args$args;
        add_header Cache-Control "public, max-age=7200";
        # Add headers to serve security related headers (It is intended to
        # have those duplicated to the ones above)
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        # Optional: Don't log access to assets
        access_log off;
   }

   location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        # Optional: Don't log access to other assets
        access_log off;
   }
   listen 443 ssl; 
    ssl_certificate /etc/ssl/nginx.crt;  
    ssl_certificate_key /etc/ssl/nginx.key; 
    
    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    } 

}

Kemudian restart nginx dengan command 
/etc/ini.d/nginx restart

Buka Browser anda kemudian ketikkan https://alamat_ip
anda akan melihat setup dari nextcloud
nextcloud ubuntu installation


Buatlah admin accont dan password 

masukkan user untuk masuk database : nextclouduser
password : sesuaikan seperti yang anda konfigurasi waktu pembuatan user tadi
database : nextcloud
host : localhost

Kemudian Install/Next untuk Instalasi pertama, setelah Intalasi selesai anda bisa login menggunakan admin account dan password yang sudah anda buat



Install PostgreSQL 10 di Linux Debian 9 Stretch

Pertama kita butuh menambahkan Repository PostgreSQL terlebih dahulu di daftar repository kita.
Masukkan PostgreSQL signing key dengan command
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O- | sudo apt-key add -

Tambahkan Repositorynya di /etc/apt/sources.list.d/postgresql.list dengan command
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

Setelah repository berhasil dimasukkan, update terlebih dahulu Debian anda dengan command
apt-get update

Setelah proses update selesai baru install PostgreSQL 10 dengan command
apt-get install postgresql-10

Berikut command untuk control PostgreSQL
untuk restart service postgresql
/etc/ini.d/postgresql restart

untuk stop service postgresql
/etc/ini.d/postgresql stop

untuk start service postgresql
/etc/ini.d/postgresql start

Kategori

Kategori