Install Server Centos 7 Requirement 1. siapakan partisi secara maual saat install * untuk partisi root(/) pastikan paling besar * untuk swap (max 2 x total ram) 2. mininal 2 partisi root(/),swap 3. seting rootpassword,adduser sos dan network , untuk keperluan update 3. install sampai selesai 4. restart 5. remot/ssh ke server baru lalu update #yum update -y (enter) tunggu sampai selesai #reboot //===========END PROSES INSTALL SERVER ============ Instal MARIADB #yum install mariadb-server -y #systemctl start mariadb //untuk membuat aktive directory saja #systemctl stop mariadb //stop service karena akan menggunakan rsync data lama sql #firewall-cmd --get-active-zone #firewall-cmd --zone=public --add-port=3306/tcp --permanent #firewall-cmd --reload ---------------------------------- PENTING BACA DULU SEBELUM LANJUT jika akan menggunakan data sql lama step install server mariadb sampai sini, abaikan langkah selanjutnya ---------------------------------- #systemctl start mariadb #systemctl enable mariadb #systemctl status mariadb #mysql_secure_installation #systemctl stop mariadb //=====Selesai install mariadb ========= Install PHP --------------------------------------- //optional jika belum ada reponya #yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm ---------------------------------------- kalau sudah terpasang langsung kesini ya #yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm -------------------------------------------- #yum install -y yum-utils #yum -y install epel-release #yum install -y nano #yum-config-manager --enable remi-php56 #yum install -y php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo php-xml php-mbstring php-imagic //=========selesai intall PHP ============== install APACHE //-------------------------------------------------- #yum update httpd #yum install -y httpd #firewall-cmd --permanent --add-service=http #firewall-cmd --permanent --add-service=https #firewall-cmd --reload #systemctl start httpd #systemctl status httpd #systemctl enable httpd.service #yum install -y mod_ssl openssl //=============selesai intall apache ========= install webmin //---------------------------------- #yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty perl-Encode-Detect #nano /etc/yum.repos.d/webmin.repo //copas ini [Webmin] name=Webmin Distribution Neutral #baseurl=http://download.webmin.com/download/yum mirrorlist=http://download.webmin.com/download/yum/mirrorlist enabled=1 //endcopas #yum install wget -y #wget http://www.webmin.com/jcameron-key.asc #rpm --import jcameron-key.asc #yum -y install webmin #firewall-cmd --zone=public --add-port=10000/tcp --permanent #firewall-cmd --zone=public --add-port=7575/tcp --permanent #firewall-cmd --reload //untuk menganti port webmin ke 7575 buka webmin port 10000 dr browser # https://192.168.5.19:10000/ #dari webmin/webmin configuration/port and addreses # Listen on port dari 10000 ganti ke 7575 # Accept IPv6 connections? pilih No # Listen for broadcasts on UDP port dari 10000 ganti ke 7575 //==========selesi install webmin DISABLE SELINUX #nano /etc/selinux/config SELINUX=disabled //simpan konfigurasi dengan ctrl+x #reboot lanjut seting share samba menggunakan webmin INSTALL SAMBA //----------------------------------------------------------- #yum install samba samba-client samba-common -y #systemctl start smb.service #systemctl start nmb.service #systemctl enable smb.service #systemctl enable nmb.service # firewall-cmd --permanent --zone=public --add-service=samba # firewall-cmd --reload //tambah user sanba #smbpasswd -a sos NetworkMGK //selanjutnya seting share directory dengan: #nano /etc/samba/smb.conf tambahkan ke baris paling bawah copy------------------------------------- [web] force user = sos writeable = yes valid users = sos,@sos user = sos,@sos path = /var/www write list = sos,@sos endcopy------------------------------------------- coba buka di explorer \\192.168....(ipnya)\web kalau tidak bisa jalankan script ini # chown -R sos:sos /var/www/ Install extension mongo pecl #yum -y install gcc php-pear php-devel #yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64 -y #pecl install mongo -y ketika mandek dipertanyaan # Build with Cyrus SASL (MongoDB Enterprise Authentication) support? [no] : jawab dengan [no] #yum install php-mongodb -y #nano /etc/php.ini //tambahkan-> extension=mongo.so// di bagian dynamic extension #systemctl restart httpd //=======selesai install mongo pecl Install cerbot #yum install epel-release mod_ssl -y #yum install python-certbot-apache -y //====selesai intall cerbot/ssl //=========== PATCH SERVER ============================================================= gunakan/buka winscp file master bisa dilihat dari 192.168.11.20/backup/Master/seting server copaskan file ke direktori yg ditunjuk kecuali yg ditandai *) hanya untuk server utama ---------------------------------------- CATATAN TANDA BINTANG(*) -hanya dilakukan ketika server sudah menjadi server utama, jika sebagai cadangan/backup abaikan dulu(skip). ------------------------------------------- copas httpd.conf ->/etc/httpd/conf/ #fungsi untuk seting document root dan loader ssl copas limits.conf -> /etc/security #fungsi untuk buka limit koneksi copas php.ini ->/etc/ #update php copas mariadb.service.d ->/etc/systemd/system/ #untuk buka limitasi file ke infinity untuk handling data yang besar copas isi job 5 detik ->home/sos/ #worker job 5 detik *)copas my.cnf -> /etc/ #fungsi untuk seting mariadb(*) *)buka rc.local lalu copas ->/etc/rc.local # untuk aktivasi cli per 5 detik(*) *)copas sites-avaible ->/etc/httpd/ #untuk aktivasi virtualhost(*) *)copas crontab #crontab-e #untuk cron job(*) (*) edit sites-avaible pada file virtual host pada segment ssl dihapus atau beri hastah(#) contoh: #SSLCertificateFile /etc/letsencrypt/live/admcafequ.mayagrahakencana.com/cert.pem #SSLCertificateKeyFile /etc/letsencrypt/live/admcafequ.mayagrahakencana.com/privkey.pem #$Include /etc/letsencrypt/options-ssl-apache.conf #SSLCertificateChainFile /etc/letsencrypt/live/admcafequ.mayagrahakencana.com/chain.pem (*)end edit , pastikan semua ssl virtual host dimatikan karena aklan menimbulkan error perlu digenerate ulang #systemctl start httpd #systemctl status httpd //pastikan status running, jika gagal running lihat di log untuk memperbaiki /var/log/httpd/error.log #certbot --apache -d san.mayagrahakencana.com (*) //lakukan cerbot untuk semua virtual host (*) #systemctl restart httpd PROSES MOUNTING DATA SQL #blkid #untuk melihat hardsik raid array yang terbaca, hardsik sql hanya punya 1 partisi bisanya terbaca sdb1, jika ada sdb2 berarti bukan data sql catat UUID dan type file systemnya nya #nano /etc/fstab(*) //tambahakan uuid dilist fstab contoh UUID=235656-67676-676 /var/lib/mysql/ xfs noatime 0 0 # /var/lib/mysql -> mouting hardisk ke sql data, xfs type file sistemnya, noatime biar tanpa jeda simpan konfigurasi #mount -a (*) - jika tidak ada error lanjut #systemctl start mariadb - jika ada error lihat log untuk perbaikan /var/log/maridb/mariadb.log/error.log - setelah berjalan activekan service mariadb #systemctl enable mariadb # untuk autorun saat startup ==========================SELESAI PATCH SERVER ================================= TIPS DAN TRIK //replace vi dengan nano #export EDITOR=/bin/nano //bug error change to text or blob saat restore dari maria db5 ke mariadb 10 tambahkan config my.cnf innodb_log_file_size = 512M mulai sini innodb_strict_mode = 0 //bug raid tidak nisa mounting update OS ker versi terbaru mounting manual fstab //bug tidak bisa ssh lintas network //lihat networkcard ->ip route show ip route add 192.168.5.0/24 via 192.168.11.2 dev enp0s25<-- sesuaikan dengan networkcardnya //jadikan permanen nano /etc/sysconfig/network-scripts/route-enp0s25<-- sesuiakan networkcarnya ------ 192.168.5.0/24 via 192.168.11.2 dev enp0s25 dev eth0<-- sesuiakan networkcardnya ------ //delete curent route ip route del 10.0.2.0/24 via 192.168.43.223 dev enp0s3<-- sesuiakan networkcardnya //ln virtual host #ln -s /etc/httpd/sites-available/spm.com.conf /etc/httpd/sites-enabled/spm.com.conf //backup remote host db #mysqldump --host=192.168.11.100 -u admin -p run_san > /dmsdata/backup_db/run_san.sql //backup localhost mysqldump --user=admin --password=mayanet619955 --lock-tables --databases run_san > /dmsdata/backup_db/run_san.sql; --restore daribackup #mysql -u admin -p run_san < /var/www/html/run_san.sql //cloningdb dalan satu host mysqldump -u admin --password=mayanet619955 DB_sumber | mysql -u admin -p DB_target //setting swapiness //on the fly #sysctl vm.swappiness=10 # sysctl -p #cat /proc/sys/vm/swappiness // cek swapines //jadikan permanen #nano /etc/sysctl.conf **** tambahkan vm.swappiness=10 //RSYNC ->source ,traget rsync -av -P /var/www/* /var/lib/mysql *** sparrowhawk restart radius #/etc/init.d/freeradius restart //extrax file.gz #gunzip nama_file.gz fix limit blod data, dari query ALTER TABLE transaksi ENGINE=INNODB ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=8 //install ntp jangan lupa untuk syncronize tanggal bair gak kacau yum install ntp -y //epel rilis untuk htop yum install epel-release #mount share ubuntu fstab ==== sintax ======== //192.168.178.40/hddrive2go /media/LibreELECshare cifs uid=1000,vers=3.0,username=myuser,password=mypassword,users 0 0 ==== end sintax ===== //patcher mariadb 10, belum di test masih dikumpulin aja thread_handling=pool-of-threads # from one-thread-per-connection for scalability max_heap_table_size=512M # from 16M to increase RAM capacity tmp_table_size=512M # from 256K 2 be = max_heap_table_size and reduce created_tmp_disk_tables innodb_io_capacity=10000 # from 200 limit for SSD possible RPS read_buffer_size=256K # from 128K to reduce handler_read_next RPS read_rnd_buffer_size=192K # from 256K to reduce handler_read_rnd_nxt RPS aria_pagecache_division_limit=50 # from 100 for WARM cache key_cache_division_limit=50 # from 100 for WARM cache innodb_buffer_pool_instances=8 # from 12 for your current data volume innodb_buffer_pool_size=24G # from 64G to support 11G of data with room to grow innodb_lru_scan_depth=100 # from 1024 to reduce CPU every SECOND see refman innodb_thread_concurrency=0 # from 8 see dba.stackexchange Question 5666 //end patcher ====================================UBUNTU SECTION ======================================= #install mariadb seperti biasa //update /etc/mysql/mariadb.conf.d/50.server.cnf tambah pada grup innodb, suntuk mematikan stric mode agar tidak muncul error row to large >8132 bla..bla..bla innodb-strict-mode=OFF; //------------------ install mongoDB 6 SKIP Libray belum disuport #wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - #echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list #sudo apt-get update #sudo apt-get install -y mongodb-org #sudo systemctl start mongod #sudo systemctl status mongod #sudo systemctl enable mongod #sudo systemctl stop mongod #sudo systemctl restart mongod ------bagian patch ataupun seting ------- MONGODB 5 #apt install wget curl gnupg2 software-properties-common apt-transport-https ca-certificates lsb-release #curl -fsSL https://www.mongodb.org/static/pgp/server-5.0.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb.gpg #echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list #sudo apt update #sudo apt install mongodb-org #systemctl restart mongod #systemctl status mongod #systemctl stop mongod #systemctl enable mongod //update/etc/mongod.conf bindIP :0.0.0.0 //--------------------- #systemctl start mongod #mongosh -----masuk terminal mongo(console) ----- #use admin //menambah user db.createUser( { user: "admin", pwd: "mayanet619955", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ); //grandrole untuk admin #db.grantRolesToUser('admin', [{ role: 'root', db: 'admin' }]) #db.grantRolesToUser('admin', [{ role: 'userAdminAnyDatabase', db: 'admin' }]) -----temninal mongo(console)--------- SELESAI untuk mongo Lanjut PHP INSTALL PHP 5.6 karena driver mongo hanya suport versi ini mongo 4 dan 5 #apt install php5.6 # apt install php5.6-{cli,curl,imagick,http,json,mbstring,mcrypt,mysql,mysqlnd-ms,readline,sqlite3,xml,zip,opcache,gd} Install driver mongo # apt install php5.6-dev php-pear # pecl install -f mongo # yum install php-mongodb Reload daemon #systemctl --system daemon-reload Update known host untuk ssh antar server #ssh-keygen #import ssh supaya antar server tidak perlu memasukan password untuk RSYNC ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.11.100 (dari mesin yang melakukan rsync misal 11.101)ib_log1 #start odoo systemctl start odoo16.service #port default oddo 8069 Jamu forcerecovery gagal - remame ib_logfile1 ->menjadi xxx - remame ib_logfile0 ->menjadi xxx lalu start mariadb ->jika berhasil hapus permanet file hasil rename man biar gak nyampah //=======================================================================================