How to fix mysql error can’t read dir on Peppermint OS

Suddenly my php stack can’t open phpmyadmin. Its getting timeout all the time. Due to health problem I let it as I think my computer might need rest too like me 🙂

Today I need to overcome the problem since my friend need to access mysql table structure and I use command line, the error appear in different format :

mysql -u root -p nkppt -e ‘show tables;’
Enter password:
ERROR 1018 (HY000) at line 1: Can’t read dir of ‘./nkppt/’ (errno: 24)

Wow, I think the error also serious and apt-get update in last run might be the cause of this problem.

After look around I got solution from here.

Edit security limits

$ cat /etc/security/limits.conf

……

………..

mysql soft nofile 24000
mysql hard nofile 32000

Modify mysql.conf

$ cat /etc/init/mysql.conf
# MySQL Service

description     “MySQL Server”
author          “Mario Limonciello <[email protected]>”

start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]

respawn
respawn limit 2 5

env HOME=/etc/mysql
umask 007

# The default of 5 seconds is too low for mysql which needs to flush buffers
kill timeout 300

limit nofile 32000 32000
limit nproc 32000 32000

pre-start script
## Fetch a particular option from mysql’s invocation.
# Usage: void mysqld_get_param option

The lines in bold is solution for my problem.

Restart mysql service and my problem gone 🙂

How to install PHP7 ports on FreeBSD 10.2

My friend ask me about FreeBSD PHP7 ports and he already check if the ports not exist yet. He just feel more comfortable with ports than using git or source.

I search Google and found github repository of PHP 7 ports. I give it a try with my vps and it looks good.

Lets get start!

# freebsd-update update
# freebsd-update install
# pkg update
# portsnap fetch
# portsnap extract

Install git

# pkg install -y git

Clone

# git clone https://github.com/SentaLtd/freebsd-php7-ports.git
Cloning into ‘freebsd-php7-ports’…
remote: Counting objects: 210, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 210 (delta 16), reused 13 (delta 13), pack-reused 184
Receiving objects: 100% (210/210), 40.52 KiB | 0 bytes/s, done.
Resolving deltas: 100% (68/68), done.
Checking connectivity… done.

Copying all files

# mv /root/freebsd-php7-ports/bsd.php.mk /usr/ports/Mk/

Lang

# mv /root/freebsd-php7-ports/lang/php7-extensions /usr/ports/lang/
# mv /root/freebsd-php7-ports/lang/php7-extensions /usr/ports/lang/

Archivers

# cd /root/freebsd-php7-ports/archivers/
# mv php7-* /usr/ports/archivers/

Converters

# cd /root/freebsd-php7-ports/converters/
# mv php7-* /usr/ports/converters/

Databases

# cd /root/freebsd-php7-ports/databases/
# mv php7-* /usr/ports/databases/

Continue to others 🙂

Install PHP7 ports

# cd /usr/ports/freebsd-php7-ports/lang/php7
# make install

php7_ports_freebsd10

Test

# php -v
PHP 7.0.2 (cli) (built: Jan 30 2016 07:50:43) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies

# php --ini
Configuration File (php.ini) Path: /usr/local/etc
Loaded Configuration File: (none)
Scan for additional .ini files in: /usr/local/etc/php
Additional .ini files parsed: (none)

Fix different date between PHP and CentOS server

Odd thing happen today when I see big difference between date from PHP output and date from shell.

PHP output :

22-12-2015 06:15:43

Shell output :

# date
Sel Des 22 13:19:54 WIB 2015

7 hour difference.

A few checklist for this case :

  1. Copy right timezone to localtime

# cp /usr/share/zoneinfo/Asia/Jakarta /etc/localtime

2.  Add right timezone to php.ini

#nano /usr/local/lib/php.ini

date.timezone = “Asia/Jakarta”

3. Check sysconfig clock

# nano /etc/sysconfig/clock

change Zone to “Asia/Jakarta”

4. Check for hardware clock aka hwclock

# hwclock
Sel 22 Des 2015 06:34:40 WIB -0.707297 seconds

Done.

How to install PHP 7 from source (tar.gz) with Apache on FreeBSD 10.2

Last post I’ve try install official PHP 7 (GA) but I then realized that I have PHP 7.1 ( I use default branch of PHP git source). A reader also shoot me an email ask for simple connection to web server. I’m glad to write that since time permit 🙂

Here step by step guide install PHP 7.0 with Apache2 and MySQL 5.5 on FreeBSD 10.2

# pkg update
Updating FreeBSD repository catalogue…
Fetching meta.txz: 100% 940 B 0.9kB/s 00:01
Fetching packagesite.txz: 100% 5 MiB 251.3kB/s 00:22
Processing entries: 100%
FreeBSD repository update completed. 24605 packages processed.

# portsnap fetch
Looking up portsnap.FreeBSD.org mirrors… none found.
Fetching public key from portsnap.FreeBSD.org… done.
Fetching snapshot tag from portsnap.FreeBSD.org… done.
Fetching snapshot metadata… done.
Fetching snapshot generated at Sat Dec 12 07:02:07 WIB 2015:
a69a8b66039839a497463d737a142cf72e71c993a4fda7100% of 70 MB 205 kBps 05m51s
Extracting snapshot… done.
Verifying snapshot integrity… done.
Fetching snapshot tag from portsnap.FreeBSD.org… done.
Fetching snapshot metadata… done.
Updating from Sat Dec 12 07:02:07 WIB 2015 to Sat Dec 12 11:21:33 WIB 2015.
Fetching 4 metadata patches… done.
Applying metadata patches… done.
Fetching 0 metadata files… done.
Fetching 4 patches.
(4/4) 100.00% done.
done.
Applying patches…
done.
Fetching 0 new ports or files… done.

Why reinvent the wheel if php7 ports for FreeBSD available. Continue reading

How to fix freebsd-update no mirror problem

In my latest post about php 7 on FreeBSD 10.2 I use $5 vps/month as quick solution for my freebsd 10.2 need (the service is really good actually since I can use any *bsd by upload iso to their server). The main problem of it is freebsd-update problem where I face this error when I use freebsd-update : “No mirrors remaining, giving up”.

I don’t see that problem when I use vps but I used to see it when I try to use virtualization like virtualbox but I need it for my class. Each student must be able to update their freebsd box by their self.

Finally I got the solution 5 minutes before class start 🙂

 

Here’s what I do :

1st try

# freebsd-update fetch
Looking up update.FreeBSD.org mirrors… none found.
Fetching metadata signature for 10.2-RELEASE from update.FreeBSD.org…

failed.
No mirrors remaining, giving up.

Try to debug it

# freebsd-update -v debug fetch
Looking up update.FreeBSD.org mirrors… none found.
Fetching metadata signature for 10.2-RELEASE from update.FreeBSD.org…
fetch: transfer timed out
fetch: latest.ssl appears to be truncated: 0/512 bytes
failed.
No mirrors remaining, giving up.

Ok, lets try other mirror

# freebsd-update -s update1.freebsd.org fetch
Looking up update1.freebsd.org mirrors… none found.
Fetching metadata signature for 10.2-RELEASE from update1.freebsd.org… ^C^C

I cancel it.

Another try

# dig update.freebsd.org Continue reading