Langsung ke konten utama

Postingan

PHP Apps in a Subdirectory in Nginx

 location /pilkades {     alias /var/www/html/pilkades;     try_files $uri $uri/ @nested;     location ~ \.php$ {         include snippets/fastcgi-php.conf;         fastcgi_param SCRIPT_FILENAME $request_filename;         fastcgi_pass unix:/run/php/php7.4-fpm.sock;     } } location @pilkades {     rewrite /pilkades/(.*)$ /pilkades/index.php?/$1 last; } atau: location /alias {     alias  /var/www/htmlalias;     location ~ /([^/]+\.php)$ {       try_files /$1 =404;       fastcgi_pass unix:/var/run/php5-fpm.sock;       fastcgi_index index.php;       include fastcgi_params;       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;     }   }

Fix rpmdb: Thread died in Berkeley DB library Centos

Ketika dapat error seperti ini  rpmdb: Thread/process 277623/140429100390144 failed: Thread died in Berkeley DB library error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery error: cannot open Packages index using db3 -  (-30974) error: cannot open Packages database in /var/lib/rpm CRITICAL:yum.verbose.cli.yumcompletets:Yum Error: Error: rpmdb open failed Dapat difixkan dengan cara: mkdir /var/lib/rpm/backup cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/ rm -f /var/lib/rpm/__db.[0-9][0-9]* rpm --quiet -qa rpm --rebuilddb yum clean all

Backup Mysql ALL Database with Specific Methods ( #! /bin/bash)

#! /bin/bash # backup-mysql.sh # # Craig Sanders <cas@taz.net.au> # this script is in the public domain.  do whatever you want with it. MYUSER="root" MYPWD="PASSWD" ARGS="--single-transaction --flush-logs --complete-insert" DATABASES=$( mysql -D mysql --skip-column-names -B -e 'show databases;' | egrep -v 'information_schema' ); BACKUPDIR=/var/backups/mysql YEAR=$(date +"%Y") MONTH=$(date +"%m") DAY=$(date +"%d") DATE="$YEAR-$MONTH/$YEAR-$MONTH-$DAY" mkdir -p $BACKUPDIR/$DATE cd $BACKUPDIR/$DATE for i in $DATABASES ; do   echo -n "backing up $i: schema..."   mysqldump $ARGS --no-data -u$MYUSER -p$MYPWD $i > $i.schema.sql   echo -n "data..."   mysqldump $ARGS --skip-opt --no-create-db --no-create-info -u$MYUSER -p$MYPWD $i > $i.data.sql   echo -n "backup full databases"   mysqldump $ARGS -u$MYUSER -p$MYPWD $i > $i.full.sql   echo -n "Backup views" ...

Backup database MYSQL (data only, dll)

Backup Data only: mysqldump  -u root -p --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --skip-triggers DATABASE -t table1 -t table2 -t table3  > data.sql Backup Structure only: mysqldump --no-data -u root -p Database table1 table2 ... > str.sql Backup Data and Structure : mysqldump -u root -p Database -t table -t table ... > data&struk.sql Backup Structure view only: mysql -h hosts -u usernonroot -ppassword --skip-column-names --batch -e "select concat('drop table if exists ', table_schema, '.', table_name,'; create or replace view ', table_schema, '.', table_name, ' as ', view_definition, '; ') as q from information_schema.views where table_schema = 'DATABASE_NAME' " > views.sql && sed -i 's/usernonroot/usernonrootnew/g' views.sql Backup Procedure and Function Only: mysqldump -u root -p -single-transaction=TRUE --routines --no-data --no-create-info=TRUE...

Switch PHP version

Interactive switching mode sudo update-alternatives --config php Manual Switching From PHP 5.6 => PHP 7.1 Default PHP 5.6 is set on your system and you need to switch to PHP 7.1. Apache: $ sudo a2dismod php5 . 6 $ sudo a2enmod php7 . 1 $ sudo service apache2 restart Command Line: $ sudo update - alternatives -- set php / usr / bin / php7 . 1 From PHP 7.1 => PHP 5.6 Default PHP 7.1 is set on your system and you need to switch to PHP 5.6. Apache: $ sudo a2dismod php7 . 1 $ sudo a2enmod php5 . 6 $ sudo service apache2 restart Command Line: $ sudo update - alternatives -- set php / usr / bin / php5 . 6

Mengatasi Error DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled

Jika di mysql mendapatkan error seperti dibawah ini: 1418 (HY000) at line 10185: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) dapat diselesaikan dengan cara: 1. jalan kan di cmd/terminal: SET GLOBAL log_bin_trust_function_creators = 1; 2. Masukan di konfgurasi my.cnf : log_bin_trust_function_creators = 1;

“Copying to tmp table” extremely slow

You may need to try setting certain variables within your session tmp_table_size max_heap_table_size These particular values may be too small for your DB Connection to fulfill the query efficiently. These can be set within as follows: To see what values these settings have currently do the following: SHOW VARIABLES LIKE 'max_heap_table_size'; SHOW VARIABLES LIKE 'tmp_table_size'; To set max_heap_table_size to 64M do the following: SET max_heap_table_size = 1024 * 1024 * 64; To set tmp_table_size to 32M do the following: SET tmp_table_size = 1024 * 1024 * 32; If you cannot set these values within your own session, contact your hosting provider to dynamically set them in your my.cnf. Give it a Try !!!

ORA-00257: archiver error. Connect internal only | Automatic archival Disabled

Then as root switch to this user so have to have all the oracle variables in your path, You MUST log on as sysdba that's the only internal user allowed to access the database in such situations. eg if the owner owner/user is oradba # su - oradba Now you can invoke sqlplus $sqlplus /nolog SQL>conn / as sysdba SQL> archive log list; Database log mode        Archive Mode Automatic archival        Enabled Archive destination        USE_DB_RECOVERY_FILE_DEST Oldest online log sequence     482 Next log sequence to archive   482 Current log sequence        487 Check the Archive destination and delete all the logs SQL> shutdown immediate Database closed. Database dismounted. SQL> startup mount ORACLE instance started. Total System Global Area 3240239104 bytes Fixed Size     2217712 bytes Variable Size 2835351824 bytes Database ...

install php5.3 ubuntu 14.04, 16.04, 18.04 with cgi not fcgi

Halo, kali ini saya akan membagikan tutorial mudah untuk compile dan install php5.3 di ubuntu 14.04, btw.. di 18.04 juga bisa sebenernya, asalakan perinsipnya tahu.  kenapa saya pake cgi tidak fcgi? ya karena lebih enteng dari fcgi, dan fpm. nah biasanya, kita sering dihadapkan dengan kondisi dimana diharuskan memasang aplikasi lama, di server yang OS nya ke-kinian. oke.. bisa dipahami? untuk install php5.3 diubuntu, diperlukan keahlian dalam mengatasi error dan mencarinya di google. yuk mulai 1. Unduh file compile PHP wget -O php-5.3.29.tar.gz http://de1.php.net/get/php-5.3.29.tar.gz/from/this/mirror 2. install depedensi yang dibutuhkan: apt-get install apache2 apt-get install build-essential apt-get install libxml2-dev apt-get install libcurl4-openssl-dev pkg-config apt-get install libbz2-dev apt-get install libjpeg-turbo8-dev apt-get install libpng-dev apt-get install libfreetype6-dev apt-get install libmcrypt-dev libreadline-dev apt-get install libmysqlclient1...

Membuat auto backup pada sql server

Tidak usah bertele tele.. aku tau pasti langsung scroll script nya Berikut script  T-sql nya: DECLARE @name VARCHAR(50) -- database name  DECLARE @path VARCHAR(256) -- path for backup files  DECLARE @fileName VARCHAR(256) -- filename for backup  DECLARE @fileDate VARCHAR(20) -- used for file name -- specify database backup directory SET @path = 'C:\Backup\'  -- specify filename format SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) DECLARE db_cursor CURSOR READ_ONLY FOR  SELECT name FROM master.sys.databases WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases AND state = 0 -- database is online AND is_in_standby = 0 -- database is not read only for log shipping OPEN db_cursor  FETCH NEXT FROM db_cursor INTO @name  WHILE @@FETCH_STATUS = 0  BEGIN     SET @fileName = @path + @name + '_' + @fileDate + '.BAK'     BACKUP DATABASE @name TO DISK = @fil...

How to install OCI8 on Ubuntu 17.10 and PHP 7.1

Install Oracle Instant Client and SDK Step 1 Download the latest Oracle Instant Client and SDK from the Oracle website (Yeah, fuck you Oracle, you need to create an account to download the files). http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html Look for instantclient-basic-linux.x64-12.2.0.1.0.zip and instantclient-sdk-linux.x64-12.2.0.1.0.zip. Step 2 Create a new folder to store the Oracle Instant Client files on your machine. mkdir /opt/oracle And move your files to /opt/oracle. Step 3 Extract the files cd /opt/oracle unzip instantclient-basic-linux.x64-12.2.0.1.0.zip unzip instantclient-sdk-linux.x64-12.2.0.1.0.zip Step 4 Next, we need to symlink the .so files. ln -s /opt/oracle/instantclient_12_2/libclntsh.so.12.2 /opt/oracle/instantclient_12_2/libclntsh.so ln -s /opt/oracle/instantclient_12_2/libocci.so.12.2 /opt/oracle/instantclient_12_2/libocci.so Step 5 Now lets add the folder to the ldconfig's config folder. echo /opt/oracl...

How to check the maximum number of allowed connections to an Oracle database?

The  sessions  parameter is derived from the  processes  parameter and changes accordingly when you change the number of max processes. See the  Oracle docs  for further info. To get only the info about the sessions: select current_utilization , limit_value from v $ resource_limit where resource_name = 'sessions' ; CURRENT_UTILIZATION LIMIT_VALUE ------------------- ----------- 110 792 Try this to show info about both: select resource_name , current_utilization , max_utilization , limit_value from v $ resource_limit where resource_name in ( 'sessions' , 'processes' ); RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION LIMIT_VALUE ------------- ------------------- --------------- ----------- processes 96 309 500 sessions 104 323 792

How to setup Let's Encrypt certificates on Ubuntu 12.04

Hey yow first, we login has root. and enable mod_ssl a2enmod ssl service apache2 restart Next, we can install python2.7-dev and Git echo "deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted" | sudo tee -a /etc/apt/sources.list.d/precise-updates.list sudo apt-get update sudo apt-get install python2.7-dev git we can installed the letsencrypt client: git clone --branch 0.30.x https://github.com/letsencrypt/letsencrypt cd letsencrypt we can shut down Apache – there is probably a better way, but on a low-traffic test server/domain, that’s entirely okay for me. I then requested a new certificate and started Apache up again. service apache2 stop ./letsencrypt-auto certonly --no-self-upgrade --standalone -d example.com -d www.example.com  service apache2 start Don't forget to add --no-self-upgrade to your renew cron job. Now we went into the config file of virtual host and changed things around a bit. I am sure that ...

CKAN Datapusher: 500 Server Error

Target WSGI script '/etc/ckan/datapusher.wsgi' can not be loaded as Python module. Exception occurred processing WSGI script '/etc/ckan/datapusher.wsgi'. Traceback (most recent call last): File "/etc/ckan/datapusher.wsgi", line 8, in import ckanserviceprovider.web as web File "/usr/lib/ckan/datapusher/lib/python2.7/site-packages/ckanserviceprovider/web.py", line 13, in <mod $ import flask.ext.login as flogin ImportError: No module named ext.login You have to check if the modules Flask and Flask_login are installed and if necessary install them: pip uninstall flask (if is installed in other version) pip install flask == 0.12 pip install flask-login then you have to check the file /ckanserviceprovider/web.py (possible path): /usr/lib/ckan/datapusher/lib/python2.7/site-packages/ckanserviceprovider/web.py and replace: import flask.ext.login as flogin with: import flask_login as flogin because flask.ext.login is obsolete final...

Install Oci8 ubuntu 16.04

First Prerequirements are a working apache2 and php7.2 (Ubuntu 18.04) environment. Download the basic (like instantclient-basic-linux.x64-12.2.0.1.0.zip) and the SDK (instantclient-sdk-linux.x64-12.2.0.1.0.zip) package from the Oracle Website  http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html Upload both files to your web server, you can use WinSCP for it Unzip both files on a server, in my case, you will get a new folder named "instantclient_12_2" 4a. Create a destination folder mkdir /opt/oracle 4b. Move and rename the instantclient folder mv instantclient_12_2 /opt/oracle/instantclient 4c. Change rights on the folder chown -R root:www-data /opt/oracle Check if you have the required packages for installing OCI8 apt install php7.2-dev php-pear build-essential libaio1 Create necessary soft links ln -s /opt/oracle/instantclient/libclntsh.so.12.1 /opt/oracle/instantclient/libclntsh.s...

show function mysql command

mysql> SHOW create FUNCTION kode_level\G; *************************** 1. row ***************************             Function: kode_level             sql_mode: NO_AUTO_VALUE_ON_ZERO      Create Function: CREATE DEFINER=`lakip2016`@`localhost` FUNCTION `kode_level`(`pkode` VARCHAR(50), `pdelimiter` CHAR, `pLevel` INT) RETURNS varchar(255) CHARSET latin1     DETERMINISTIC     SQL SECURITY INVOKER BEGIN DECLARE hasil VARCHAR(255);   SET hasil = SUBSTRING_INDEX(pkode, '.',pLevel);   RETURN hasil; END character_set_client: utf8 collation_connection: utf8_general_ci   Database Collation: latin1_swedish_ci 1 row in set (0.00 sec)

Remote Port Forwarding

$ ssh -nNT -R 4000:localhost:3000 user@server.com The above command sets up an ssh tunnel between your machine and the server, and forwards all traffic from localhost:3000 (on your machine) to localhost:4000 (in the context of the server). So now you can connect to the locally running service on port 3000 on the server on port 4000. This trick is very useful because it allows you to be able to expose a locally running service through your server to others on the internet without having to deploy it / setup on the server.

Can't Use apt i.e. /boot is 100% full

1. Get the list of kernel images Get the list of kernel images and determine what you can do without. This command will show installed kernels except the currently running one $ sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r` You will get the list of images somethign like below: linux-image-3.19.0-25-generic linux-image-3.19.0-56-generic linux-image-3.19.0-58-generic linux-image-3.19.0-59-generic linux-image-3.19.0-61-generic linux-image-3.19.0-65-generic linux-image-extra-3.19.0-25-generic linux-image-extra-3.19.0-56-generic linux-image-extra-3.19.0-58-generic linux-image-extra-3.19.0-59-generic linux-image-extra-3.19.0-61-generic 2. Prepare Delete Craft a command to delete all files in /boot for kernels that don't matter to you using brace expansion to keep you sane. Remember to exclude the current and two newest kernel images. From above Example, it's sudo rm -rf /boot/*-3.19.0-{25,56,58,59,61,65}-* ...