1b. Install Apache, PHP, localhost SSL (https) On Windows 10, all newest 64 bit

HOME
Download config and php test files:  0_Apache24_conf_extra_PHP_ini.zip

Everything works. If I forgot something see URL-s in this article wich served me as tutorials. ZWAMP or simmilar and virtual hosts are not used for this basic example – Apache and PHP are extracted in C: .

Output of C:\Apache24\htdocs\index.php
(see 0_Apache24_conf_extra_PHP_ini.zip) :

Glavni izbornik (Home)

 HTML 5, CSS 3, JS, SSL.                                                             Help
1111111111 2222222222 3333333333 4444444444   444444      Home refresh (http)
4444444444 4444444444 4444444444                                        Home https

C:\Apache24\htdocs\index.php says: JS says: location.protocol=https:

 

https://www.proy.info/how-to-enable-localhost-https-on-wamp-server/
Posted On May 19th, 2017

I did mostly see below Masim Man Dec 1, 2016
1. HOW TO SET UP APACHE WITH SSL (HTTPS) ON LOCALHOST
but URL above has some clearer configs

Step 1: Download and unpack Apache lounge 64 bit (Windows 10 64 bit)
and PHP Version 7.1.9 non thread safe
httpd-2.4.27-Win64-VC15.zip, mod_fcgid-2.3.9-win64-VC15.zip
php-7.1.9-nts-Win32-VC14-x64.zip
SEE HOW TO UNPACK zip-s above : https://www.dionysopoulos.me/233-apache-mysql-php-server-on-windows-with-multiple-simultaneous-php-versions.html
or 0_Apache24_conf_extra_PHP_ini.zip above.

we have C:\Apache24 and C:\PHP\7.1.9

Step 2: Download OpenSSL (32 bits/64 bits Windows)
I did not so, see below Masim Man Dec 1, 2016

Step 3: Configure WAMP to use HTTP+SSL=HTTPS
I did not so, see below Masim Man Dec 1, 2016

Step 4: Create SSL Key and Certificate
I did not so, see below Masim Man Dec 1, 2016

Step 5: Copy the Created SSL Key and Certificate file
I did not so, see below Masim Man Dec 1, 2016

Step 6: Open httpd.conf, php.ini & uncomment
Open C:\Apache24\conf\httpd.conf and uncomment:
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
See whole scripts in .zip above.

Step 7: Open httpd-ssl.conf and make the final changes
Open c:\Apache24\conf\extra\httpd-ssl.conf (see .zip above)
find “<VirtualHost _default_:443>” and below that line find and update below configuration according to your setup:
# General setup for the virtual host
DocumentRoot “c:/Apache24/htdocs”
#ServerName www.example.com:443
ServerName localhost:443
ServerAdmin youremail
ErrorLog “c:/Apache24/logs/sslerror.log”
TransferLog “c:/Apache24/logs/sslaccess.log”
SSLEngine on
SSLCertificateFile “c:/Apache24/conf/server.crt”
SSLCertificateKeyFile “c:/Apache24/conf/server.key”
… and so on, see config files in 0_Apache24_conf_extra_PHP_ini.zip.

Open php.ini, uncomment :
extension=php_openssl.dll

Step 8: Test to make sure it works
check if you are getting Syntax is OK
C:\Apache24\bin>httpd -t
https://localhost/index.php

 

https://www.youtube.com/watch?v=Zdl68h_N2lc Masim Man Published on Dec 1, 2016 :

HOW TO SET UP APACHE WITH SSL (HTTPS) ON LOCALHOST

HTTPS (Hyper Text Transfer Protocol Secure) is a protocol for secure communication over a computer network.

Make icon for C:\Windows\SysWOW64\cmd.exe (run as admin). It shows Apache’s openssl:
openssl version -d
OPENSSLDIR: “C:\Program Files\Common Files\SSL”
openssl version
OpenSSL 1.1.0f 25 May 2017

–We create files :
1. C:\Apache24\conf\server.csr              <–OpenSSL certificate request
2. C:\Apache24\conf\server.pem            <–private key

3. C:\Apache24\conf\server.key             <–from .pem
4. C:\Apache24\conf\server.crt              <–from .key, .csr
see  below :
openssl x509 -req -signkey C:\Apache24\conf\server.key -days 1024 ^
-in C:\Apache24\conf\server.csr -out C:\Apache24\conf\server.crt

00000 –INITIAL
Change config path to where you have installed Apache :
cd C:\Apache24\bin
set OPENSSL_CONF=C:\Apache24\conf\openssl.cnf

11111 & 22222 —     ^ = ALTGRKEY+3 (3 two times)
openssl req -config C:\Apache24\conf\openssl.cnf -new ^
   -out C:\Apache24\conf\server.csr -keyout C:\Apache24\conf\server.pem
ANSWERS: only two :
writing new private key to ‘C:\Apache24\conf\server.pem’
Enter PEM pass phrase: test1
Common Name (e.g. server FQDN or YOUR name) []:localhost

33333
openssl rsa -in C:\Apache24\conf\server.pem -out C:\Apache24\conf\server.key
ANSWER: Enter pass phrase for C:\Apache24\conf\server.pem:test1
writing RSA key

44444
openssl x509 -req -signkey C:\Apache24\conf\server.key -days 1024 ^
    -in C:\Apache24\conf\server.csr -out C:\Apache24\conf\server.crt
Outputs:
Signature ok
subject=C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = localhost
Getting Private key

55555
–C:\Apache24\conf\httpd.conf
search ssl, listen, httpd-ssl and uncomment :
LoadModule log_config_module modules/mod_log_config.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so

Listen 80
#live commented <IfModule mod_ssl.c>
Listen 443
#</IfModule>

Include conf/extra/httpd-ssl.conf

C:\Apache24\conf\extra\httpd-ssl.conf
SSLSessionCache “shmcb:c:/Apache24/logs/ssl_scache(512000)”

restart Apache
if will not start:  as sdmin in CLI
C:\Apache24\bin>httpd -t
or :
NOT httpd.exe -k restart but so:
C:\Apache24\bin>httpd.exe  — this shows error message

 

————– NEEDED FOR MS INET BROWSERS :
https://www.youtube.com/watch?v=Hhown6DgC00 Masim Man Published on Dec 2, 2016
HOW TO INSTALL AN APACHE SELF SIGNED CERTIFICATE ON WINDOWS 10
On Windows 10, a Self Signed Certificate that wasnt issued by a recognized certificate authority is not trusted by default. A Self Signed Certificates usually used on Local Web Servers (Localhost) that arent available publicly. In this case you are save to
– bypass the warning on any browsers
– or installing it to a trusted root certification authority in Windows 10.
2click C:\Apache24\conf\server.crt
in Certificate dialog Issued to and Issued by is localhost
click button “Install certificate”
for current user
place in store “Trusted root Cert. Authorities”
remove certificate localhost so:
WINKEY -> mmc -> File -> Add/remove snapp-in -> Certificates
-> Add -> My user account

1a. Install ZWAMP, Apache, PHP, MySQL, WordPress on Win 10 all 64bit, all portable (extract, setup files)

HOME

22.oct.2016
from  J:\zwamp64\z_apache_php_instalac_doc\z_doc\01_zwamp_instalac_moj.txt

Z-WAMP Server Pack (tools for Apache, PHP web pages developing on all Windows versions 32/64 bit) is a lightweight zero-install Web server package (user GUI).

1. Z-WAMP

is hosted by SourceForge: http://zwamp.sourceforge.net/
download: http://sourceforge.net/projects/zwamp/files/
latest is jan.2013  11_zwamp-x64-2.2.1-full.zip
to DIRECTORY J:\zwamp64\z_apache_php_instalac_doc\win64_x64bit
where is also coresponding MS VC++ which must be installed first (only this one installation) see below vc_redist.x64.
———————————————————-
Latest ZWAMP for Win XP which I have as web site on USB stick – they work on all Windows 32/64 bit versions :
25 MB     11_for_winXP_32bit_zwamp-i386-1.1.2.zip

Last version I extracted php for 32 bit windows xp is 5.4.*  :
11_for_wiXP_32bit_vcredist_x86_VS2008.exe
12_for_winXP_32bit_php-5.4.45-Win32-VC9-x86.zip
Last apache for 32 bit windows xp is 2.4.? or 2.2.? (see apachelounge site)

ZWAMP is Bing Cosca’s project (also author of F3 – Fat free php framework).
Latest ZWAMP 2013 year  for win 10 64 bit contains web development tools:

  1. I use only : Apache, MySQL, PHP, Adminer, – I added phpmyadmin and I extracted their latest versions to Z:\.sys (Z: is for me “J:\zwamp64\vdrive”)
  2. I do not use : MiniPerl 5.14.2, MongoDB 2.2.3,   (PHP 1.3.4 driver),  APC 3.1.13, XCache 3.0.0, XDebug 2.2.1, AdminMongoDB, MemCached, SQLite, eAccelerator, and Alternative PHP Cache (APC)
ZWAMP Version 2.2.1, 2013 year (LATEST RELEASE)
23.oct.2016 I EXTRACTED NEWEST 64 BIT VERSIONS OF  (ALL NO INSTALL, PORTABLE)
Apache 2.4.3 apachelounge
12_apache_httpd-2.4.20-win64-VC14.zip
PHP 5.4.12 12_php-7.0.12-Win32-VC14-x64.zip
MSVC14 (Visual C++ 2015)
MySQL 5.6.10 mysql-5.7.16-winx64.zip,  mysql-5.7.9-winx64.zip
see below EXTRACT PORTABLE: MYSQL
tool
Adminer 3.5.1
Adminer 4.2.5
http://dev1:8083/adminer/adminer.php
see below EXTRACT PORTABLE: MYSQL
ZWAMP does not contain phpMyAdmin phpMyAdmin 4.6.4
see below EXTRACT PORTABLE: MYSQL
ZWAMP does not contain WordPress 1_wordpress-4.6.1.zip   8.5 MB
see below EXTRACT PORTABLE: WORDPRESS

My DIRECTORY J:\zwamp64\z_apache_php_instalac_doc\win64_x64bit
contains :

***** 1. vc_redist (install this first, other SW is portable ): *****
———————————————————-
23.oct.2016 15 MB 10_2015_vc_redist.x64.exe
for .php 7.0.12 64 bit (compiled with Visual Studio 2015)
http://www.microsoft.com/en-us/download/details.aspx?id=48145

—               ***** 2. Apache : *****
—————————————————-
3.jul.2016. 14 MB 12_apache_httpd-2.4.20-win64-VC14.zip
do not forget comment/uncomment:
#LoadModule php5_module /.sys/php/php5apache2_4.dll
LoadModule php7_module /.sys/php/php7apache2_4.dll
in J:\zwamp64\vdrive\.sys\Apache2\conf\httpd.conf
and :

# ZWAMP does:   (subst Z: "J:\zwamp\vdrive")
Listen 8083
# dir J:\zwamp64\vdrive\.sys\php is :
PHPIniDir /.sys/php
# dir J:\zwamp64\vdrive\.sys\php is
<IfModule alias_module>
  # dir. J:\zwamp64\vdrive\.sys\adminer is :
  # http://localhost:8083/adminer/
 Alias /adminer /.sys/adminer
  <Directory /.sys/adminer>
    Options All
    AllowOverride AuthConfig
    Require all granted
  </Directory>

  # http://localhost:8083/phpmyadmin/  
  # WE NEED WAMP WAY for WAMP main menu group 3. Aliases & virt.hosts :
  # J:\zwamp64\vdrive\alias\phpmyadmin.conf for me is all commented
  Alias /phpmyadmin /.sys/phpmyadmin
  <Directory /.sys/phpmyadmin>
    Options All
    AllowOverride AuthConfig
    Require all granted
  </Directory>
</IfModule>

—               ***** 3.1 PHP : *****
————————————————-
http://windows.php.net/download
build date Oct 13 2016 24 MB 12_php-7.0.12-Win32-VC14-x64.zip
oct.2016 23 MB 12_php-5.6.27-Win32-VC11-x64.zip
oct.2015 21 MB 12_php-5.5.38-Win32-VC11-x64.zip
works, oci8 for php7 is supported !!
see trick with php_oci8_11g.dll below

—               ***** 3.2 memcache CURL : *****
—————————————————–
CURL is compiled with php7.0.12,
I do not use memcache (any cache) for now (not needed ?)

—               ***** 4. DB  *****
———————————————————-

—               ***** 4.1 DB sqlite : *****
13.08.2015.  164 kB tema.sqlite
—               ***** 4.2 sqlite develop. tools : *****
24.06.2015.  25 MB 14_sqlitestudio-3.0.6.zip
29.03.2015.  98 kB 14_SQLiteStudio_User Manual.htm

—————————————————-
—         ***** 4.2 DB Oracle 11gXE 64 bit : *****
—————————————————-
332 MB 1_OracleXE112_Win64.zip
see below OracleXE112 INSTALL
see below CONNECT PHP TO OracleXE112
—               ***** Oracle develop. tools : *****
—               Orcle sqldeveloper
—               Orcle sqldeveloper data modeler
—               IDE Netbeans I do not use

—     —————————————————–
—     ***** 4.3 DB mysql (SEE BELOW MYSQL EXTRACT GUIDE) : *****
—     —————————————————–
23.oct.2016.  349 MB 14_mysql-5.7.16-winx64.zip

——————————————————–      —          *****  mysql develop. tools *****
——————————————————-
23.oct.2016.  6 MB  16_phpMyAdmin-4.6.4-all-languages.7z
compatible with PHP 5.5 to 7.0 and MySQL 5.5 and newer.
SHA256: 89ce2055402ea3052d380aebddf3c9c5bfc4ed686f49b98ee2e0f6ec6a3ded6c
old: 16_phpMyAdmin-4.5.0.2-all-languages.7z

23.oct.2016. 283 kB 16_adminer-4.2.5-en.php I renamed to :
J:\zwamp64\vdrive\.sys\adminer\adminer.php
01.06.2016   413 kB adminer-4.2.4.php,  570 kB 16_adminer-master.zip

23.10.2015. 33 MB
15_mysql-workbench-community-6.3.5-winx64-noinstall.zip

2. EXTRACT PORTABLE: MYSQL, PHPMYADMIN, ADMINER

22.oct.2016
http://dev.mysql.com/downloads/mysql/
(phpinfo() shows: mysqli mysqlnd 5.0.12-dev –  20150407 ?)
MD5: 1b23c0ddaa1ad59465fd1702b864e4a3
—–BEGIN PGP SIGNATURE—–  I do not use this
Version: GnuPG v1

iD8DBQBX7U37jHGNO1By4fURAkIGAJ9vU5VfOLHqDnZvvrtq/B/n6jE3MQCgh4C1
9sR5bRIkjwpwJ5Adjekc7uA=
=9Kxd
—–END PGP SIGNATURE—–

348 MB  14_mysql-5.7.16-winx64.zip
36 MB   14_mysql_refman-5.7.16-en.a4.pdf
http://dev.mysql.com/doc/refman/5.7/en/  http://dev.mysql.com/doc/

A bit more difficult for beginner user is to integrate newest
Apache. php, mysql, phpmyadmin, adminer in ZWAMP
(all portable = extract  & setup & run).

Testing MySQL is best in console (command prompt) window – best mysql msgs.
I did not use MSI mysql installer (is it better ?)
======================================================

If using no install mysql zip, you need to:

1. ***EXTRACT MYSQL***
unzip  J:\zwamp64\z_apache_php_instalac_doc\win64_x64bit\14_mysql-5.7.16-winx64.zip
to ZWAMP dir:  J:\zwamp64\vdrive\.sys\mysql (rename old to mysql_5_7_9)

2. Create ***OPTIONS*** file my.ini – see my.ini below
or copy my.ini from mysql_5_7_9 dir to mysql dir
Optional I id not:   extract the debug-test archive if you plan to execute the MySQL benchmark and test suite

???I DID NOT: Choose a MySQL ***SERVER TYPE***, it could be :
it is server-id    = 1 ???
– mysqld Optimized binary with named-pipe support
– or mysqld-debug – like mysqld, but compiled with
full debugging and automatic memory allocation checking

3. ***INITIALIZE MYSQL***
3.1 Freecommander in admin mode and click CLI icon
or (I did):
make icon C:\Windows\SysWOW64\cmd.exe -> right click -> run as admin
J:
cd J:\zwamp64\vdrive\.sys\mysql

3.2   .\bin\mysqld –initialize-insecure –user=mysql

MySQL ee mysqld creates dir :
J:\zwamp\vdrive\.sys\mysql\data – we can move it if needed

data dir we can delete to try –initialize-insecure again if
installation was unsuccesfull as my was first time I used
–initialize mysqld parameter
I did not know how resolve errors – same as MANY PEOPLE ON WEB FORUMS :
‘Access denied for user ‘root’@’localhost’
or
‘Your password has expired

4. ***START*** MySQL server :
4.1 First this to be able to do 4.2 !! :
Establish ZWAMP try icon & start Apache and mysql
(or 2click on: J:\zwamp64\zwamp.exe)
Rightclick on ZWAMP try icon
– standard ZWAMP, WAMP or XAMPP functions.

ZWAMP Services menu item should show apache and mysql started.

4.2 Execute mysql.exe to ***OPEN MYSQL CONNection***
to open mysql prompt:
J:
cd J:\zwamp\vdrive\.sys\mysql

.\bin\mysql -u root -p 
Enter password: *****
press ENTER key if you not yet have root psw *****
then ***GIVE PASSWORD TO ROOT USER***
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘root’;
         exit
So we avoided error:
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

Then again :
.\bin\mysql -u root -p

or .\bin\mysql -u root -h 127.0.0.1 –skip-password

If we try 4.2 without ZWAMP started (5.1) :
Enter password: ****
ERROR 2003 (HY000): Cant connect to MySQL server on ‘localhost’ (10061)

Why we need password :
– secure default user accounts
– Portable phpMyAdmin says “Login without psw is forbidden by configuration”

5. MYSQL TOOLS

http://dev1:8083/phpmyadmin – login into mysql with portable phpMyAdmin works after :
rename J:\zwamp64\vdrive\.sys\phpMyAdmin to phpMyAdmin_4_5_0_2
16_phpMyAdmin-4.6.4-all-languages.7z  6 MB ***phpMyAdmin EXTRACT*** to :
J:\zwamp64\vdrive\.sys\phpMyAdmin
copy J:\zwamp64\vdrive\.sys\phpMyAdmin_4_5_0_2\config.inc.php
to J:\zwamp64\vdrive\.sys\phpMyAdmin\config.inc.php
see below config.inc.php

http://dev1:8083/adminer/adminer.php — login into mysql with portable adminer works
— login into oracle 11gXE with portable adminer works
16_adminer-4.2.5-en.php 283 kB copyed to adminer dir
same as phpMyAdmin and renamed to adminer.php, no setup file changes required

http://dev1:8083/adminer/ed/editor.php — is only for mysql DB

http://dev1:8083/adminer/ed/oraed.php — is only for Oracle DB

ˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇˇ end mysql 64 bit installation

http://dev1:8083/phpmyadmin displays:

Database server
Server: localhost via TCP/IP
Server type: MySQL
Server version: 5.7.16 – MySQL Community Server (GPL)
Protocol version: 10
User: root@localhost
Server charset: UTF-8 Unicode (utf8)

Web server
Apache/2.4.20 (Win64)
Database client version: libmysql – mysqlnd 5.0.12-dev – 20150407 – $Id: 241ae00989d1995ffcbbf63d579943635faf9972 $
PHP extension: mysqliDocumentation curlDocumentation mbstringDocumentation
PHP version: 7.0.12

phpMyAdmin
Version information: 4.6.4 (up to date)
Documentation
Official Homepage
Contribute
Get support
List of changes
License

Starting MySQL from the Windows Command Line
=======================================
mysqld — corresponds to Oracle DB server daemon(TSR) service name (XE)

Stop MySQL server by executing this command:
mysqladmin -u root -p shutdown

Start mysqld with the –standalone and –debug options. In debug case, mysqld writes a log file C:\mysqld.trace that should contain the reason WHY MYSQLD DOESNT START. See Section 24.5.3, “The DBUG Package”.
Use mysqld –verbose –help to display all the options that mysqld supports.

2.3.5.6 Customizing the PATH for MySQL Tools
============================================
To make it easier to invoke MySQL programs, you can add the path name of the MySQL bin directory to your Windows system PATH environment variable.
You should not add the MySQL bin directory to your Windows PATH if you are running multiple MySQL servers on the same machine.

https://www.adminer.org/#download
Adminer – Database management in a single PHP file
Adminer Editor – Data manipulation for end-users

https://www.adminer.org/
Supports: MySQL, PostgreSQL, SQLite, MS SQL, Oracle, SimpleDB, Elasticsearch
Requirements: PHP 5+
Apache License 2.0 or GPL 2

To see what databases (users in Oracle DB terminology) exist :
————————————————-
(in oracle DB user coresponds to mysql DB)
goto J:\zwamp64\vdrive\.sys\mysql\bin

mysqld –help
mysqld  Ver 5.7.16 for Win64 on x86_64 (MySQL Community Server (GPL))
Copyright (c) 2000, 2016, Oracle and/or its affiliates.
Starts the MySQL database server.

Usage: mysqld [OPTIONS]

For more help options (several pages), use
mysqld –verbose –help

mysqlshow -u root -p
+——————–+
|     Databases      |
+——————–+
| information_schema |
| blogwp             |
| mysql              |
| performance_schema |
| sys                |
+——————–+
Two DB ar minimum.

mysqlshow -u root mysql
Database: mysql
+—————————+
|          Tables           |
+—————————+
| columns_priv              |
| db                        |

+—————————+

To select information from a table in the mysql database :
mysql -e “SELECT User, Host, plugin FROM mysql.user” -u root mysql
+———–+———–+———————–+
| User      | Host      | plugin                |
+———–+———–+———————–+
| root      | localhost | mysql_native_password |
| mysql.sys | localhost | mysql_native_password |
+———–+———–+———————–+

mysqladmin -u root version status proc
mysqladmin  Ver 8.42 Distrib 5.7.16, for Win64 on x86_64
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Server version          5.7.16
Protocol version        10
Connection              localhost via TCP/IP
TCP port                3306
Uptime:                 41 min 55 sec

Threads: 1  Questions: 21  Slow queries: 0  Opens: 115  Flush tables: 1  Open tables: 0  Queries per second avg: 0.008
Uptime: 2515  Threads: 1  Questions: 22  Slow queries: 0  Opens: 115  Flush tables: 1  Open tables: 0  Queries per second avg: 0.008
+—-+——+—————–+—-+———+——+———-+——————+
| Id | User | Host            | db | Command | Time | State    | Info             |
+—-+——+—————–+—-+———+——+———-+——————+
| 11 | root | localhost:50191 |    | Query   | 0    | starting | show processlist |
+—-+——+—————–+—-+———+——+———-+——————+

To display all the options that mysqld supports:
.\bin\mysqld –verbose –help

J:\zwamp\vdrive\.sys\mysql>.\bin\mysql -u root -p
Enter password:
mysql> SELECT User, Host, Password FROM mysql.user;
ERROR 1054 (42S22): Unknown column ‘Password’ in ‘field list’
mysql> SELECT User, Host FROM mysql.user;
+———–+———–+
| User      | Host      |
+———–+———–+
| mysql.sys | localhost |
| root      | localhost |
+———–+———–+
2 rows in set (0.00 sec)

# ————————————-
# my.ini     mysql 5.7.16 config file
# ————————————-
# J:\zwamp64\vdrive\.sys\mysql\my.ini
[client]
password    = root
port          = 3306
socket        = /.tmp/mysql.sock

[mysqld]
basedir = J:/zwamp64/vdrive/.sys/mysql
datadir = J:/zwamp64/vdrive/.sys/mysql/data
# default IPv6 change to ipv4
bind-address = 0.0.0.0
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
sync_binlog = 0
explicit_defaults_for_timestamp = TRUE
server-id    = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
safe-updates

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout

# ————————————-
# config.inc.php   phpMyAdmin 4.6.4 config file
# ————————————-
// J:\zwamp64\vdrive\.sys\phpMyAdmin\config.inc.php
$cfg[‘blowfish_secret’] = ”; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$i = 0;
$i++;
/* Authentication type */
//$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;
//  if you prefer to not be prompted every time you log in:
$cfg[‘Servers’][$i][‘user’]          = ‘root’;
$cfg[‘Servers’][$i][‘password’]      = ‘root’; // use here your password
//$cfg[‘Servers’][$i][‘auth_type’]     = ‘config’;
/* Server parameters */
$cfg[‘Servers’][$i][‘host’] = ‘localhost’;
$cfg[‘Servers’][$i][‘connect_type’] = ‘tcp’;
$cfg[‘Servers’][$i][‘compress’] = false;
$cfg[‘Servers’][$i][‘AllowNoPassword’] = false;

$cfg[‘UploadDir’] = ”;
$cfg[‘SaveDir’] = ”;

3.  EXTRACT PORTABLE: WORDPRESS

http://sspc1:8083/papl1/blogwp/wp-admin/  = Control panel (Ndzorna ploča)
http://sspc1:8083/papl1/blogwp/  = articles, posts, članci, objave

http://sspc1:8083/papl1/blogwp/primjer-stranice/ = page

http://sspc1:8083/papl1/blogwp/2016/10/22/dan-svijete/

http://sspc1:8083/papl1/blogwp/wp-admin/about.php

https://wordpress.org/download/
http://codex.wordpress.org/Installing_WordPress

1. extract 1_wordpress-4.6.1.zip, 8.5 MB
to
J:\zwamp64\vdrive\web\papl1\blogwp

2. 5-Minute Installation
————————

11111 start apache & mysql

start ZWAMP
rightclick ZWAMP icon and check services apache and mysql are running

22222 create mysql DB and user for WordPress blog

z:
dir .sys
cd .sys\mysql\bin
mysqlshow -u root -p
mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

1.        mysql> DROP DATABASE blogwp; (possible repeat this)
1.        mysql> CREATE DATABASE blogwp;
2.cre usr mysql> GRANT ALL PRIVILEGES ON blogwp.* TO “blogwp”@”localhost”
-> IDENTIFIED BY “blogwp”;
3. mysql>        FLUSH PRIVILEGES;
4. mysql>        EXIT

or in GraphicUI which creates statements below :

http://dev1:8083/phpmyadmin/
create db blogwp collation utf8_… ,:
New link on left top

CREATE USER ‘blogwp’@’%’ IDENTIFIED WITH mysql_native_password BY ‘***’;
GRANT ALL PRIVILEGES ON *.* TO ‘blogwp’@’%’ REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
GRANT ALL PRIVILEGES ON `blogwp`.* TO ‘blogwp’@’%’;
REVOKE ALL PRIVILEGES ON `blogwp`.* FROM ‘blogwp’@’%’;
GRANT ALL PRIVILEGES ON `blogwp`.* TO ‘blogwp’@’%’ WITH GRANT OPTION;

33333 install WordPress blog tables to MySQL DB

http://sspc1:8083/papl1/blogwp/
or http://sspc1:8083/papl1/blogwp/wp-admin/install.php
Needed info about DB:
DB name               blogwp
DB user name          blogwp
DB psw                blogwp
Host of DB            localhost  or PC name eg SSPC1 or domain name eg http://www.mysite.hr
tables Prefiks        blogwp
(if we want more WordPress installations in one DB)

Above info is used to create wp-config.php file. Also you can edit
wp-config-sample.php. See https://codex.wordpress.org/Editing_wp-config.php

psw=…  email=…

Akismet blog spam protection needs :
email,  usr/psw, API key
https://akismet.com/account/

http://sspc1:8083/papl1/blogwp/  = articles, posts, članci, objave
http://sspc1:8083/papl1/blogwp/wp-admin/  = control panel

44444  WordPress Importer

will import the following content from a WordPress export file:
posts, pages, comments, categories, and other content.
<!–J:\zwamp64\vdrive\web\papl1\blogwp\1_phporacle.wordpress.2016-10-22.xml
This is a WordPress eXtended RSS file (WXR) generated by WordPress as an export of your site.
–>
<!– You may use this file to TRANSFER CONTENT FROM ONE SITE TO ANOTHER. –>
<!– This file is not complete backup of your site. –>

<!– TO IMPORT THIS INFORMATION INTO A WORDPRESS SITE : –>
<!– 1. Log in to that site as an administrator. –>
<!– 2. Go to TOOLS: IMPORT IN THE WORDPRESS ADMIN PANEL. –>
<!– 3. Install the “WordPress” importer from the list. –>
<!– 4. Activate & Run Importer. –>
<!– 5. Upload this file using the form provided on that page. –>
<!– 6. You will first be asked to MAP THE AUTHORS IN THIS EXPORT FILE TO USERS –>
<!–    on the site. For each author, you may choose to map to an –>
<!–    existing user on the site or to create a new user. –>
<!– 7. WORDPRESS WILL THEN IMPORT each of the posts, pages, comments, categories, etc. contained in this file into your site. –>
<!– generator=”WordPress/4.6.1″ created=”2016-10-22 12:46″ –>

If you would prefer to do things manually then follow these instructions:
Upload the wordpress-importer folder to the /wp-content/plugins/ directory
Activate the plugin through the ‘Plugins’ menu in WordPress
Go to the Tools -> Import screen, click on WordPress

Remember to update the passwords and roles of imported users.

Many web hosts now offer tools (e.g. Fantastico) to automatically install WordPress for you.
WordPress  has Automatic upgrading.

Things to Know/todo Before You Begin Installing WordPress
————————————————
– Access to web server (via FTP or shell)
– text editor
– FTP Client
– Web browser (K-meleon, Firefox, Google Chrome)

Minimum requirements to run WordPress:
– PHP version 5.6 or greater
– MySQL version 5.6 or greater OR . – MariaDB version 10.0 or greater -http://dev1:8083/phpmyadmin/
WordPress also works with PHP 5.2.4+ and MySQL 5.0+, but these versions have reached official End Of Life and as such may expose your site to security vulnerabilities.

******************************************************
OracleXE112 INSTALL
******************************************************
see my other article or just install it as any Windows program.

4. CONNECT PHP 7.0.12  TO Oracle 11g r2 XE

Oracle instantclient is not needed if all is on home development PC :
OCI8 Extension – WORKS FOR PHP 7.0.12 64 BIT build date Oct 13 2016

Use php 7.0.12 OCI8 extension to access Oracle Database 11g XE from PHP

I did for php 7.0.12, 64 bit:
———————-
download: https://pecl.php.net/package/oci8
https://pecl.php.net/package/oci8/2.1.2/windows
7.0 Thread Safe (TS) x64
TRICK: from J:\zwamp64\vdrive\.sys\php\ext\1_php_oci8-2.1.2-7.0-ts-vc14-x64.zip   20.sep.2016 734 kB
extract php_oci8_11g.dll in J:\zwamp64\vdrive\.sys\php\ext

I also installed  php 5.6.27, 64 bit:
—————————–
I renamed php dir to php_7_0_12
I renamed php_5_6_27 dir to php
download: https://pecl.php.net/package/oci8/2.0.12/windows
5.6 Thread Safe (TS) x64
from J:\zwamp64\vdrive\.sys\php\ext\1_php_oci8-2.0.12-5.6-ts-vc11-x64.zip     20.sep.2016 581 kB
extract php_oci8_11g.dll in J:\zwamp64\vdrive\.sys\php\ext

OCI8 php extension needs to be linked with Oracle 12, 11, or 10.2
client libraries.  These libraries are found in your database installation,
or (I did not this) :   in the free Oracle Instant Client from
http://www.oracle.com/technetwork/database/features/instant-client/
Install the ‘Basic’ or ‘Basic Lite’ Instant Client package.  If
building from source, then also install the SDK package.
aug.2015.  55 MB 18_instantclient-basic-windows.x64-11.2.0.4.0.zip
nov.2014.  73 MB instantclient-basic-windows.x64-12.1.0.2.0.zip

Oracle standard cross-version connectivity applies.  For example,
PHP OCI8 linked with Instant Client 11.2 can connect to Oracle
Database 9.2 onward.  See Oracle note “Oracle Client / Server
Interoperability Support” (ID 207303.1) for details.

see README of pecl oci8 dll-s zip above
see Documentation is at http://php.net/oci8

1. Install Apache, PHP, Oracle DB 11g XE & 11g, Oracle Forms 6i and 12c & Reports on Win 10 (all 64bit)

HOME   Downloads are now:  https://github.com/slavkoss/fwphp

26.oct.2019 I use 64 bit XAMPP: PHP 7.3.7 AND APACHE 2.4.38. on Windows 10 64 bit. PDO: mysql, oci, sqlite ARE WORKING.Oracle db 11gXE (no more E. Rangel pdooci – pdo sintax on oci8 program layer).

I tried 4-5 WAMP server SW WAMP and ZWAMP are ok but XAMPP unzip is  simplest – almost 1 click . WAMP has problem with composer installations from Windows command line. Next shows more details (I do not use ZWAMP recently) :

  1. Unzip zwamp-x64-2.2.1-full.zip to J:\zwamp64
  2. Rename old J:\zwamp64\vdrive\.sys\Apache2 dir to Apache2_2_4_16
  3. Download Apache : http://www.apachelounge.com
    Create dir J:\zwamp64\vdrive\.sys\Apache2.
    Unzip httpd-2.4.20-win64-VC14.zip – it’s Apache24 folder content to :
    ServerRoot J:/zwamp64/vdrive/.sys/Apache2 (or c:/Apache24 = ServerRoot) in httpd.conf
    Default folder for your your webpages is DocumentRoot
    DocumentRoot J:/zwamp64/vdrive/.sys/Apache2/htdocs
    Directories
    ScriptAlias – also when you use extra folder config file(s) change to your location there
  4. No changes in J:\zwamp64\vdrive\.sys\Apache2_2_4_16\conf\extra
  5. changes in J:\zwamp64\vdrive\.sys\Apache2\conf :
    copy here own httpd.conf ver 2.4.16 to conf dir (rename original before copying)
    copy here own vhosts.conf ver 2.4.16 to conf dir
  6. J:\zwamp64\vdrive\.sys\Apache2\conf\httpd.conf :
    LoadModule php7_module /.sys/php/php7apache2_4.dll
    AddType application/x-httpd-php .php# without this OCI8 and PDO MySQL and PDO sqlite are not visible in inet browser
    are visible in php CLI
    PHPIniDir /.sys/php
  7. Download PHP:  http://windows.php.net/download/
    php-7.0.8-Win32-VC14-x64.zip
     same unzip as apache zip above.
  8. Downloadnewest oci8-2.1.1 Extension for php 7.0.8 64 bit on Windows 10 64 bit – april 2016 (older does not work) :
    OCI8 is also for E.Rangels PDOOCI.
    https://pecl.php.net/package/oci8/2.1.1/windows  – Windows dll-s
    https://pecl.php.net/package/oci8   – for Linux
    released by [email protected]
    https://blogs.oracle.com/opal/entry/php_7_oci8_2_1
    php_oci8-2.1.1-7.0-ts-vc14-x64_Jones_pecl.php.net.zip
    Unzip it’s dll-s to: 
    J:\zwamp64\vdrive\.sys\php\ext
    Christopher Jones’s oci8-2.1.1 for php 7 :
    dir J:\zwamp64\vdrive\.sys\php\ext\php_oci*.*
    18.04.2016.  05:20   155.136 php_oci8.dll
    18.04.2016.  05:20   790.528 php_oci8.pdb – WHAT IS THIS ?
    18.04.2016.  05:20   157.184 php_oci8_11g.dll
    18.04.2016.  05:20   790.528 php_oci8_11g.pdb
    18.04.2016.  05:20   158.208 php_oci8_12c.dll
    18.04.2016.  05:20   790.528 php_oci8_12c.pdb
    7 File(s)      2.997.248 bytes
  9. J:\zwamp64\vdrive\.sys\php\php.ini
  10. 2click J:\zwamp64\zwamp.exe -> right click house icon -> restart
    -> started Apache and MySQL. If not both started very useful is :
    J:\zwamp64\vdrive\.sys\Apache2\bin>httpd.exe
    – this report errors, same as :
    php -v
    PHP 7.0.8 (cli) (built: Jun 21 2016 15:15:15) ( ZTS )
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    or
    php -r “var_dump(function_exists(‘oci_connect’));”
    or
    C:\WINDOWS\system32>php -r “if (! $dbc = oci_pconnect(‘hr’, ‘hr’, ‘ora7’, ‘UTF8’)) echo ‘***** 1. UNSUCCESSFULL db connect *****’; else {echo \”\n\”; echo ‘~~~~~~~~~~~  PARSE-BIND-EXECUTE-FETCH ~~~~~~~~~~’; echo \”\n\”; echo ‘SUCCESSFULL db connect’; echo \”\n\”;  $dml=’SELECT first_name, phone_number FROM (SELECT first_name, phone_number FROM employees ORDER BY first_name) where rownum < 3′; echo $dml; echo \”\n\”; $parse_stid = oci_parse($dbc, $dml);  if (!$parse_stid) {   $m = oci_error($conn);    echo ‘skripta: ‘ . __FILE__ ;   echo’ says neuspio oci_parse : ‘ ;   echo $m[‘message’]; }   $exec_ret =  oci_execute($parse_stid);       echo ‘oci_execute returned: ‘;     print_r($exec_ret);        echo \”\n\”; echo ‘oci_fetch_array returned: ‘;  $row = oci_fetch_array($parse_stid, OCI_ASSOC + OCI_RETURN_NULLS); print_r($row); }”WHICH DISPLAYS:~~~~~~~~~~~  PARSE-BIND-EXECUTE-FETCH ~~~~~~~~~~
    SUCCESSFULL db connect
    SELECT first_name, phone_number FROM (SELECT first_name, phone_number FROM employees ORDER BY first_name) where rownum < 3
    oci_execute returned: 1
    oci_fetch_array returned: Array
    (
    [FIRST_NAME] => Adam
    [PHONE_NUMBER] => 650.123.2234
    )
  11. Not needed if we use ZWAMP :
    Install Apache as a service:
    httpd.exe -k install   httpd.exe -k restart, or stop
    ApacheMonitor: (not needed if we use ZWAMP):
    Double click ApacheMonitor.exe, or put it in your Startup folder.

 

 

28.11.2015 INSTALLATION APACHE 2.4.16 (Win64)  & PHP 7.0.0 RC5 MSVC14 (Visual C++ 2015) x64 ON J:\zwamp\vdrive\.sys\Apache2 (& …\php) OR ON C DISK

Install as a service (not needed if using XAMPP or ZWAMP or WAMP):
httpd.exe -k install
httpd.exe -k  restart

httpd.exe -k stop  
ApacheMonitor: Double click ApacheMonitor.exe, or put it in your Startup folder.

Use PGP Signature and/or the SHA Checksums to verify the integrity.
C:\gnuwin32\bin\sha1sum.exe -help
sha1sum.exe -b J:\0downl\1_instalirano\Apache_httpd-2.4.16-win64-VC14.zip :
d917094cf13ecea83938aa58058ea7c5c6ef2756
Checksums created with GPGHash by SmartJuwel
Creation date: 22.07.2015 with GnuPG Version: 1.4.18
SHA1-Checksum for: httpd-2.4.16-win64-VC14.zip:
D917094CF13ECEA83938AA58058EA7C5C6EF2756
or SHA224-Checksum or SHA256-Checksum or SHA384-Checksum

php http://windows.php.net/qa/ For Apache on Windows: Thread Safe

I did not used Instant Client :
Oracle Database drivers for popular languages and environments including Node.js, Python and PHP can use Instant Client to connect to local or remote DBs.
https://community.oracle.com/thread/1051752 :
1. Download 64 or 32-bit Oracle Instant Client – there is no MSVC14 build 6.8.2015
2. put it somewhere useful (I put it under my php directory)
3. Add it to your system’s PATH. (A quick & dirty fix on Windows is to copy
all of the *.dll files   from the 11g InstantClient package* into same dir
as your webserver’s executable (e.g. httpd.exe).)
http://www.oracle.com/technetwork/database/features/instant-client/index-100365.html
4. Edit your php.ini and uncomment extension=php_oci8_11g.dll

I did not 1. to 4. above !

Stories on WEB that excellent (but never finished and abandoned) old 32 bit F6i, R6i SW and new Windows do not work together are not true. See also – they managed same as I (good site, could give more details):
Installing Oracle Developer (forms & reports 6i) on Windows 7 64bit
and
Oracle Developer 6i & Oracle database 11g R2 (11.2.0.1.0)
Great question to Oracle who says “we do not leave our customers who still use F6i & R6i” – but F6i & R6i can not even be downloaded from Oracle:
Why 32 bit F6i & R6i can not be patched to be certificated on 64 bit 11g and 64 bit Windows ? Oracle Power Objects (SW simmilar to F6i & R6i ) is also abandoned SW.
Today is modern to make new SW, worse than old (nobody begins new project with F11 & R11 – they are rather applications than development SW) and forget poor bastards who bought abandoned SW. So they cut their expenses (and our lifes). Simmilar stories are Microsoft ASP-VS2008-Silverlight, Google AngularJS 1.x – 2.x, over 100 development SW around…
Incompetent managers and trade departments cut our lifes, but they should know that life is not child joke.

APACHE – USE THREAD SAFE (TS) VERSIONS OF PHP BINARIES FOR WINDOWS
MULTITHREAD CAPABLE BINARIES BUILDS – INTERACTION WITH A MULTITHREADED SAPI AND PHP LOADED AS A MODULE INTO A WEB SERVER.

Use Apache builds provided by Apache Lounge – PHP official site use their binaries to build Apache SAPIs.

VC9 builds require you to have the Visual C++ Redistributable for Visual Studio 2008 SP1 x86 or x64 installed.
VC11 builds require to have the Visual C++ Redistributable for Visual Studio 2012  x86 or x64 installed. and so on

PECL FOR WINDOWS:PECL extensions for Windows is being worked on. Windows DLL can be downloaded right from thePECL website.
PECL extension release and snapshot build directories are browsable directly.

Not needed for 64 bit Apache, PHP, 11XE all three on home PC..
Download from http://www.oracle.com/technetwork/topics/winx64soft-089540.html
instantclient-basic-windows.x64-12.1.0.1.0.zip (64,939,911 bytes) (cksum – 3658834848)
extract to:  C:\Windows\SysWOW64\instantclient_12_1
and set it on Win PATH variable + H:\Apache24\bin,
(NO:    THERE ARE MORE PHP INSTALLATIONS  (only 1 Apache):    + H:\php)

C:\Apache24\bin>echo %SystemRoot%
outputs: C:\Windows

C:\Apache24\bin>path

extension=php_oci8_11g.dll (remove the “;” from the start of the line)

Restart Apache (XAMPP or WAMP server)

Open  file to see database name as
C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora
// D:\app\Farhan\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.168.1.2)
)
)

Service name is “orcl.168.1.2”,  my is: XE :

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = sspc)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  ) 
ora7 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = sspc)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  ) 
EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

See  https://github.com/slavkoss/fwphp/blob/master/fwphp/glomodul/z_examples/index.php
for  httpd.conf, vhosts.conf, C:\Windows\System32\drivers\etc\hosts, php.ini