Pages

Saturday, February 25, 2017

FreeBSD (FAMP) + Wordpress Installation RunBook

FreeBSD + Apache (apache24) + MySQL + PHP5 (php-fpm) + Wordpress

Procedures in this KB are based on articles

FreeBSD OS Configuration

/etc/rc.conf

hostname="fbsd01.dpasek.com"
ifconfig_vmx0="inet 192.168.58.1 netmask 255.255.255.0"
defaultrouter="192.168.58.254"

sshd_enable="YES"
ntpd_enable="YES"
ntpdate_enable="YES"

#VMware Tools
vmware_guest_vmblock_enable="YES"
vmware_guest_vmhgfs_enable="YES"
vmware_guest_vmmemctl_enable="YES"
vmware_guest_vmxnet_enable="YES"
vmware_guestd_enable="YES"

apache24_enable="YES"
mysql_enable="YES"
php_fpm_enable="YES"

Restart the network configuration:
/etc/rc.d/netif restart
/etc/rc.d/routing restart

Software installation
pkg update
pkg install open-vm-tools-nox11
pkg install git
pkg install apache24 mysql56-server php56 php56-extensions php56-zlib mod_php56 php56-mysql php56-mysqli php56-curl php56-mbstring
# php info http://www.blackies.net/info.php

OS Tuning

Edit .profile
PS1="[${LOGNAME}@$(hostname)]$ ";        export PS1


Prepare .gitconfig

For more info See. http://intkb.blogspot.cz/2016/01/github.html

// *********** github config
git config --global user.name "davidpasek"
git config --global user.email "david.pasek@gmail.com"
// *********** Clone existing github repository
git clone https://github.com/davidpasek/math4kids

MySQL Start service and DB Configuration
service mysql-server start
mysql_secure_installation

# Login to database as administrator 
mysql -u root -p
# Show databases 
show databases;
# Create databases - kayak
CREATE DATABASE kayak CHARACTER SET utf8 COLLATE utf8_bin;
# Create DB username - kayak with password kayak
grant all privileges on kayak.* to 'kayak'@'localhost' identified by "kayak";

Apache Configuration
service apache24 stop

/usr/local/etc/apache24/httpd.conf

ServerAdmin david.pasek@gmail.com
ServerName c4c.dpasek.com:80

<Directory />
    AllowOverride none
    # Require all denied
    # Allow from all
    Require all granted
</Directory>

DocumentRoot "/usr/local/www/apache24/data"

# Virtual hosts
Include etc/apache24/extra/httpd-vhosts.conf

LoadModule rewrite_module libexec/apache24/mod_rewrite.so

/usr/local/etc/apache24/Includes/php.conf
<IfModule dir_module>
        DirectoryIndex index.php index.html

        <FilesMatch "\.php$">
                Sethandler application/x-httpd-php
        </FilesMatch>
        <FilesMatch "\.phps$">
                Sethandler application/x-httpd-php-source>
        </FilesMatch>
</IfModule>

/usr/local/etc/apache24/extra/httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin david.pasek@gmail.com
    DocumentRoot "/usr/home/cdave/web/math4kids/"
    ServerName m4k.dpasek.com
    ServerAlias m4k.dpasek.com
    Options Indexes FollowSymLinks Includes
    ErrorLog "/var/log/m4k.dpasek.com-error.log"
    CustomLog "/var/log/m4k.dpasek.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin david.pasek@gmail.com
    DocumentRoot "/usr/home/cdave/web/flexbook-examples/"
    ServerName flexbook.dpasek.com
    ServerAlias flexbook.dpasek.com
    Options Indexes FollowSymLinks Includes
    ErrorLog "/var/log/flexbook.dpasek.com-error.log"
    CustomLog "/var/log/flexbook.dpasek.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin david.pasek@gmail.com
    DocumentRoot "/usr/home/cdave/web/kayak/"
    ServerName kayak.dpasek.com
    ServerAlias kayak.dpasek.com
    Options Indexes FollowSymLinks Includes
    ErrorLog "/var/log/kayak.dpasek.com-error.log"
    CustomLog "/var/log/kayak.dpasek.com-access_log" common
</VirtualHost>

PHP Configuration

/usr/local/etc/php-fpm.conf
listen = /var/run/php-fpm.sock
listen.owner = www
listen.group = www

listen.mode = 0660

# Create /usr/local/etc/php.ini
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Edit /usr/local/etc/php.ini
cgi.fix_pathinfo=0

session.save_path = "/tmp"
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php

Final Apache restart and avalidation
# apache restart
service apache24 restart
# show current apache settings
apachectl -S


WordPress

# Change owner for directory where WordPress files exist 
chown -R www:www kayak


Guidelines pro presun WordPressu (Lukas Frei) 
(1)
zkopírovat wordpress složku

(2)
importovat databázi
  • export originální databáze do souboru
  • najít a vyměnit v souboru všechny instance domény
  • ve wp-config.php jsou informace o databázi, změnit prefix podle originální db
  • importovat tabulky originální db do čisté db
(3)
nastavit web server
  • zapnout php a rewrite moduly
  • změnit vlastníka wordpress složky na uživatele web serveru
  • vygenerovat .htaccess (ve wordpress adminovi - nastavení -> trvalé odkazy)


Monday, January 23, 2017

WordPress - migrace

postup při přesunu wordpress webu:
  1. zkopírovat wordpress složku
  2. importovat databázi
    1. export originální databáze do souboru
    2. najít a vyměnit v souboru všechny instance domény
    3. ve wp-config.php jsou informace o databázi, změnit prefix podle originální db
    4. importovat tabulky originální db do čisté db
  3. nastavit web server
    1. zapnout php a rewrite moduly
    2. změnit vlastníka wordpress složky na uživatele web serveru
    3. vygenerovat .htaccess (ve wordpress adminovi - nastavení -> trvalé odkazy)

Sunday, December 11, 2016

Friday, December 9, 2016

UNMAP from guest OS

Podpora UNMAP funkcionality ve vSphere 6.0 urcite je: viz clanek od Cormaca Hogana: http://cormachogan.com/2015/05/07/vsphere-6-0-storage-features-part-8-vaai-unmap-changes/

Pozadavky:
  • VMDK must be thin provisioned
  • Virtual Machine Hardware version must be 11 (ESXi 6.0)
  • The advanced setting EnableBlockDelete must be set to 1 – toto je v zakladu vypnuto!
  • The Guest OS must be able to identify the disk as thin (Windows 2012 [updated 30-Oct-2015] uses the B2 mode page to achieve this)

-          Relevantni mi prijde pozadavek na korektni alignment filesystemu vuci lunu. Viz kb: https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2048466

Pro viditelnost prodavam i Davida Paska, posledni dobou toto tema hodne diskutujeme. Jinak i ohledne te funkcionality pro vSphere 6.5 je to zavisle na tom, jestli storage unmap korektne umi - http://cormachogan.com/2016/12/05/determining-array-supports-automated-unmap-vsphere-6-5/, mela by pro to byt spravne oznacena na VMware HCL.


Thursday, November 10, 2016

PowerShell - hints

Display table of PowerShell and subcomponents versions

  • $PSVersionTable

PowerShell ExecutionPolicy Execution Policy

  • For Remote Signed, run Set-ExecutionPolicy RemoteSigned
  • For Unrestricted, run Set-ExecutionPolicy Unrestricted


List all object properties
  • get-vmhost -name esx02.home.uw.cz | Format-List -Property * 

Measure-object .... sum, avg, etc. from objects in pipeline

Get-member ... get info about objects in pipeline. All Properties are displayed.

Select-object ... https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/select-object

Sort-Object ... sort objects in the pipeline

Sunday, October 23, 2016

mutt configuration - ~/.muttrc

set realname="David Pasek"

# IMAP
set imap_user = 'david.pasek@gmail.com'
set imap_pass = 'Alicka4me..'

set folder = imaps://imap.gmail.com/
set spoolfile = +INBOX
set record = "+[Gmail]/Sent Mail"
set postponed = "+[Gmail]/Drafts"

# SMTP
set smtp_authenticators = 'gssapi:login'
set smtp_url = 'smtps://david.pasek@smtp.gmail.com'
#set smtp_url = 'smtp://david.pasek@smtp.gmail.com:587/'
set smtp_pass = 'Alicka4me..'
set record=""

# SORT
set sort = reverse-date-received

# KEYS
# imap-fetch-mail  
#macro compose I 'imap-fetch-mail'


# COLORS
color normal  white black
color attachment brightyellow black
color hdrdefault cyan black
color indicator black cyan
color markers brightred black
color quoted  green black
color signature cyan black
color status  brightgreen blue
color tilde blue black
color tree  red black

color index red black ~D

color index magenta black ~T

Saturday, October 8, 2016

SIOC Normalizovana latence a velikost IO

Nasel jsem to tady


   /* COMPUTE IO size and adjust avgLatency accordingly */
   1326    latStats->blocksRead = overall_stats.blocksRead - priv->prevBlocksRead;
   1327    latStats->blocksWritten = overall_stats.blocksWritten - priv->prevBlocksWritten;
   1328    totalblocks = latStats->blocksRead + latStats->blocksWritten;
   1329 
   1330    priv->prevBlocksRead = overall_stats.blocksRead;
   1331    priv->prevBlocksWritten = overall_stats.blocksWritten;
   1332    avgIOSize = (totalblocks * pd->blkSize) / latStats->ioCount;
   1333    if (avgIOSize > 1024) {
   1334       // compute size in KB, blkSize is in Bytes
   1335       avgIOSize = avgIOSize / 1024;
   1336    } else {
   1337       // Assume 1 KB as minimum
   1338       avgIOSize = 1;
   1339    }
   1340 
   1341    /* adjust latency based on avg IO size */
   1342    latStats->avgLatency /= (1.0 + (avgIOSize / IOSIZE_ADJUST));


IOSIZE_ADJUST je 512

avgIOSize je v KB

Takze latence treba pro I/O o velikosti 128kB by bylo adjustovano na namerenou latency vydelenou 1+(128/512), takze by se latence vydelila 1.25, takze by se latence snizila o 20%.
U I/O o velikosti 1024kB by to se latence delila 1+(1024/512), takze cislem 3 a tam by se latence snizila na 33%.

Takze je to jinak, nez jsem nekde cetl, a mozna proto to ten nekdo (myslim, ze Frank Denneman) dal pryc ;-)

A dalsi vec je, ze to mohlo byt jinak v ESXi 4 a ted je to takto v ESXi 6. Jeste jsem koukal, ze je to takto I v ESXi 5, ale zdrojaky ESXi 4 uz tam nejsou.

SIOC v ESXi 5 bylo oproti ESX 4.1 vyrazne vylepseno. Ve 4.1 bylo SIOC uvedeno poprve.

Kazdopadne tam probiha urcity adjustment v zavislosti na velikosti I/O.