Skip to content

Instantly share code, notes, and snippets.

@riipandi
Created January 27, 2018 12:59
Show Gist options
  • Save riipandi/b45967b52cf98bc053ed8fd3b2124f37 to your computer and use it in GitHub Desktop.
Save riipandi/b45967b52cf98bc053ed8fd3b2124f37 to your computer and use it in GitHub Desktop.
Windows Web Server Controller
@echo off
:: core\dbpgsql\bin\initdb -U postgres -A password --pwfile="D:\Sopwer\svrstack\core\dbpgsql\pgpass.txt" -D "D:\Sopwer\svrstack\core\dbpgsql\data" -E utf8 --no-locale
:: core\dbpgsql\bin\pg_ctl.exe register -N PgSQL -D "D:\Sopwer\svrstack\core\dbpgsql\data"
:: core\dbmysql\bin\mysqld.exe --log_syslog=0 --console --standalone --initialize-insecure --init-file="D:\Sopwer\svrstack\core\dbmysql\init.txt"
:: core\dbmysql\bin\mysqld.exe --install-manual MySQL --defaults-file="D:\Sopwer\svrstack\core\dbmysql\my.ini"
:: core\miscapp\redis-server.exe --service-install D:\Sopwer\svrstack\core\miscapp\redis.conf --loglevel verbose
:: core\apache\bin\httpd.exe -k install -n "Apache2"
:pilihan
cls && echo.
echo Pilih salah satu nomor berikut: && echo.
echo 0 - Close
echo 1 - Install
echo 2 - Uninstall
echo 3 - Start Minio
echo 4 - DNSCrypt Proxy
echo.
echo 5 - Start All Services
echo 6 - Stop All Services
echo 7 - Restart All Services
echo. && set /p opsi= Masukkan pilihan :
if %opsi%==1 (
goto install
pause
) else if %opsi%==2 (
goto uninstall
pause
) else if %opsi%==3 (
goto start_minio
pause
) else if %opsi%==4 (
goto install_dnscrypt
pause
) else if %opsi%==5 (
net start pgsql
net start mysql
net start redis
net start apache2
pause
goto pilihan
) else if %opsi%==6 (
net stop pgsql
net stop mysql
net stop redis
net stop apache2
pause
goto pilihan
) else if %opsi%==7 (
net stop pgsql && net start pgsql
net stop mysql && net start mysql
net stop redis && net start redis
net stop apache2 && net start apache2
pause
goto pilihan
) else if %opsi%==0 (
goto eof
pause
) else (
goto pilihan
)
:install
:: Postgres Services
echo. && if not exist "%~dp0core\dbpgsql\data" (
echo Initializing PgSQL database...
%~dp0core\dbpgsql\bin\initdb -U postgres -A password --pwfile="%~dp0core\dbpgsql\pgpass.txt" -D "%~dp0core\dbpgsql\data" -E utf8 --no-locale
)
%~dp0core\dbpgsql\bin\pg_ctl.exe register -N PgSQL -D "%~dp0core\dbpgsql\data"
echo. && net start PgSQL
:: MySQL Service
if not exist "%~dp0core\dbmysql\data" (
echo Initializing MySQL database...
%~dp0core\dbmysql\bin\mysqld.exe --log_syslog=0 --console --standalone --initialize-insecure --init-file="%~dp0core\dbmysql\init.txt"
)
%~dp0core\dbmysql\bin\mysqld.exe --install-manual MySQL --defaults-file="%~dp0core\dbmysql\my.ini"
echo. && net start MySQL
:: Redis Server
%~dp0core\miscapp\redis-server.exe --service-install %~dp0core\miscapp\redis.conf --loglevel verbose
net start redis
:: PHP Composer
echo @%~dp0core\php7\php.exe "%~dp0core\php7\composer.phar" %%* > %windir%\composer.bat
echo @%~dp0core\php7\php.exe "%~dp0core\php7\phalcon.phar" %%* > %windir%\phalcon.bat
echo @%~dp0core\php7\php.exe "%~dp0core\php7\box.phar" %%* > %windir%\box.bat
:: Database Console
echo %~dp0core\dbpgsql\bin\psql.exe -U postgres -W > %windir%\pgsqlc.bat
echo %~dp0core\dbmysql\bin\mysql.exe -u root -p123321 > %windir%\mysqlc.bat
:: Apache Service VC2012
echo Installing Apache Service...
%~dp0core\apache\bin\httpd.exe -k install -n "Apache2"
echo. && net start Apache2
pause && goto pilihan
:: Remove Services
:uninstall
echo.
if not exist "%~dp0htdoc" ( mkdir "%~dp0htdoc" )
net stop Apache2 && %~dp0core\apache\bin\httpd.exe -k uninstall -n "Apache2"
echo. && net stop PgSQL && sc delete PgSQL
net stop MySQL && sc delete MySQL
net stop Redis && sc delete Redis
@RD /S /Q "%~dp0temp" && mkdir "%~dp0temp"
tasklist /FI "IMAGENAME eq mysqld.exe" 2>NUL | find /I /N "mysqld.exe">NUL
if "%ERRORLEVEL%"=="0" taskkill /f /im mysqld.exe
netsh interface ipv4 set dnsserver "Wi-Fi" static 156.154.70.5 primary
::%~dp0core\dnscrypt\dnscrypt-proxy --uninstall && ipconfig /flushdns
pause
goto pilihan
:start_minio
echo. && echo Starting minio CDN Server
if not exist "%~dp0temp" ( mkdir "%~dp0temp" )
if not exist "%~dp0mcdn" ( mkdir "%~dp0mcdn" )
::tasklist /FI "IMAGENAME eq minio.exe" 2>NUL | find /I /N "minio.exe">NUL
::if "%ERRORLEVEL%"=="0" taskkill /f /im minio.exe
start "minio" /B %~dp0core\minio\minio.exe -C "%~dp0core\minio" --quiet server %~dp0mcdn
pause
goto pilihan
:install_dnscrypt
echo. && echo Install DNSCrypt Proxy
%~dp0core\dnscrypt\dnscrypt-proxy -R cisco --test=0
%~dp0core\dnscrypt\dnscrypt-proxy -R cisco --install
netsh interface ipv4 set dnsserver "Wi-Fi" static 127.0.0.1 primary
ipconfig /flushdns
pause
goto pilihan
:eof
exit
@echo off
cls && echo.
echo. && echo Removing previous services
net stop eFarmasiDB
net stop eFarmasiWeb
sc delete eFarmasiDB
sc delete eFarmasiWeb
:: PostgreSQL password
::( echo pyDjr69L5R14 ) > %~dp0pgpass.txt
:: Sendmail Configuration
::(
:: echo [sendmail]
:: echo smtp_server = smtp.mailgun.org
:: echo smtp_port = 465
:: echo smtp_ssl = ssl
:: echo auth_username = [email protected]
:: echo auth_password = 3240z53q1k20
:: echo error_logfile = "%~dp0package\core\tmp\sendmail.log"
:: echo hostname = lokal.web
::) > "%~dp0package\sendmail.ini"
:: PHP Composer
echo @%~dp0package\php.exe "%~dp0package\composer.phar" %%* > "%windir%\composer.bat"
:: PHP Configuration
(
echo [PHP]
echo engine = On
echo short_open_tag = on
echo asp_tags = Off
echo precision = 14
echo output_buffering = 4096
echo zlib.output_compression = Off
echo zlib.output_compression_level = "-1"
echo zlib.output_handler = ""
echo implicit_flush = Off
echo serialize_precision = 17
echo zend.enable_gc = On
echo expose_php = Off
echo max_execution_time = 90
echo max_input_time = 180
echo max_input_vars = 200000
echo memory_limit = 512M
echo error_reporting = E_ALL
echo display_errors = Off
echo display_startup_errors = Off
echo log_errors = On
echo log_errors_max_len = 1024
echo ignore_repeated_errors = Off
echo ignore_repeated_source = Off
echo report_memleaks = On
echo track_errors = Off
echo html_errors = On
echo variables_order = "GPCS"
echo request_order = "GP"
echo register_argc_argv = Off
echo auto_globals_jit = On
echo post_max_size = 800M
echo default_mimetype = "text/html"
echo ;include_path = ".;c:\php\includes"
echo enable_dl = Off
echo file_uploads = On
echo upload_max_filesize = 800M
echo max_file_uploads = 20
echo cli_server.color = On
echo allow_url_fopen = On
echo allow_url_include = Off
echo default_socket_timeout = 180
echo.
echo extension_dir = "%~dp0package/ext"
echo extension = php_bz2.dll
echo extension = php_curl.dll
echo extension = php_fileinfo.dll
echo extension = php_gd2.dll
echo extension = php_gettext.dll
echo extension = php_gmp.dll
echo extension = php_intl.dll
echo extension = php_mbstring.dll
echo extension = php_exif.dll
echo extension = php_mysql.dll
echo extension = php_mysqli.dll
echo extension = php_openssl.dll
echo extension = php_pdo_mysql.dll
echo extension = php_pdo_pgsql.dll
echo extension = php_pdo_sqlite.dll
echo extension = php_pgsql.dll
echo extension = php_sockets.dll
echo extension = php_sqlite3.dll
echo ;extension = php_zip.dll
echo.
echo [Date]
echo date.timezone = "Asia/Jakarta"
echo.
echo [Pdo_mysql]
echo pdo_mysql.cache_size = 2000
echo.
echo [Phar]
echo phar.readonly = 0
echo phar.require_hash = 0
echo.
echo [mail function]
echo sendmail_path = "%~dp0package/sendmail.exe"
echo sendmail_from = [email protected]
echo mail.add_x_header = On
echo.
echo [SQL]
echo sql.safe_mode = Off
echo.
echo [MySQL]
echo mysql.allow_local_infile = On
echo mysql.allow_persistent = On
echo mysql.cache_size = 2000
echo mysql.max_persistent = -1
echo mysql.max_links = -1
echo mysql.connect_timeout = 60
echo mysql.trace_mode = Off
echo.
echo [MySQLi]
echo mysqli.max_persistent = -1
echo mysqli.allow_persistent = On
echo mysqli.max_links = -1
echo mysqli.cache_size = 2000
echo mysqli.default_port = 3306
echo mysqli.default_host = localhost
echo mysqli.default_user = root
echo mysqli.reconnect = Off
echo.
echo [mysqlnd]
echo mysqlnd.collect_statistics = On
echo mysqlnd.net_cmd_buffer_size = 2048
echo mysqlnd.net_read_buffer_size = 32768
echo.
echo [PostgreSQL]
echo pgsql.allow_persistent = On
echo pgsql.auto_reset_persistent = Off
echo pgsql.max_persistent = -1
echo pgsql.max_links = -1
echo pgsql.ignore_notice = 0
echo pgsql.log_notice = 0
echo.
echo [bcmath]
echo bcmath.scale = 0
echo.
echo [Session]
echo session.save_handler = files
echo ;session.save_path = "%~dp0package/temp"
echo session.use_cookies = 1
echo session.use_only_cookies = 1
echo session.name = PHPSESSID
echo session.auto_start = 0
echo session.cookie_lifetime = 0
echo session.cookie_path = /
echo session.serialize_handler = php
echo session.gc_probability = 1
echo session.gc_divisor = 1000
echo session.gc_maxlifetime = 1440
echo session.bug_compat_42 = Off
echo session.bug_compat_warn = Off
echo ;session.entropy_length = 32
echo ;session.entropy_file = /dev/urandom
echo session.cache_limiter = nocache
echo session.cache_expire = 180
echo session.use_trans_sid = 0
echo session.hash_function = 0
echo session.hash_bits_per_character = 5
echo url_rewriter.tags = "a = href,area = href,frame = src,input = src,form = fakeentry"
echo.
echo [MSSQL]
echo mssql.allow_persistent = On
echo mssql.max_persistent = -1
echo mssql.max_links = -1
echo mssql.min_error_severity = 10
echo mssql.min_message_severity = 10
echo mssql.compatability_mode = Off
echo mssql.secure_connection = Off
echo.
echo [gd]
echo gd.jpeg_ignore_warning = 0
echo.
echo [soap]
echo soap.wsdl_cache_enabled = 1
echo soap.wsdl_cache_dir = "%~dp0package/temp"
echo soap.wsdl_cache_ttl = 86400
echo soap.wsdl_cache_limit = 5
echo.
echo ;zend_extension = "%~dp0package/ext/ioncube_7.dll"
echo.
echo [opcache]
echo zend_extension = php_opcache.dll
echo opcache.enable = 1
echo opcache.enable_cli = 0
echo opcache.memory_consumption = 128
echo opcache.interned_strings_buffer = 8
echo opcache.max_accelerated_files = 4000
echo opcache.revalidate_freq = 60
echo opcache.fast_shutdown = 1
) > "%~dp0package\php.ini"
:: Apache Configuration
(
echo LoadModule actions_module modules/mod_actions.so
echo LoadModule alias_module modules/mod_alias.so
echo LoadModule auth_basic_module modules/mod_auth_basic.so
echo LoadModule authn_file_module modules/mod_authn_file.so
echo LoadModule authz_core_module modules/mod_authz_core.so
echo LoadModule authz_host_module modules/mod_authz_host.so
echo LoadModule authz_user_module modules/mod_authz_user.so
echo LoadModule autoindex_module modules/mod_autoindex.so
echo LoadModule cache_socache_module modules/mod_cache_socache.so
echo LoadModule deflate_module modules/mod_deflate.so
echo LoadModule dir_module modules/mod_dir.so
echo LoadModule env_module modules/mod_env.so
echo LoadModule expires_module modules/mod_expires.so
echo LoadModule filter_module modules/mod_filter.so
echo LoadModule headers_module modules/mod_headers.so
echo LoadModule isapi_module modules/mod_isapi.so
echo LoadModule mime_module modules/mod_mime.so
echo LoadModule negotiation_module modules/mod_negotiation.so
echo LoadModule rewrite_module modules/mod_rewrite.so
echo LoadModule setenvif_module modules/mod_setenvif.so
echo.
echo ServerRoot "%~dp0package"
echo ServerAdmin admin@localhost
echo ServerName localhost
echo ServerSignature On
echo ServerTokens Prod
echo Listen 8083
echo.
echo HostnameLookups Off
echo UseCanonicalName Off
echo AccessFileName .htaccess
echo PidFile "%~dp0package/temp/httpd.pid"
echo ErrorLog "%~dp0package/temp/apache.log"
echo LogLevel warn
echo.
echo ^<IfModule mime_module^>
echo TypesConfig conf/mime.types
echo AddType application/x-compress .Z
echo AddType application/x-gzip .gz .tgz
echo ^</IfModule^>
echo.
echo ^<IfModule expires_module^>
echo ExpiresActive on
echo ExpiresDefault "access plus 1 day"
echo ExpiresByType image/jpg "access plus 60 days"
echo ExpiresByType image/png "access plus 60 days"
echo ExpiresByType image/js "access plus 60 days"
echo ExpiresByType image/jpeg "access plus 60 days"
echo ExpiresByType text/css "access plus 1 days"
echo ^<FilesMatch "\.(css|js|html)$"^>
echo Header set Cache-Control "max-age=172800, public, must-revalidate"
echo ^</FilesMatch^>
echo ^</IfModule^>
echo.
echo ^<IfModule deflate_module^>
echo SetOutputFilter DEFLATE
echo SetEnvIfNoCase Request_URI \.^(?:gif^|jpe^?g^|png^)$ no-gzip dont-vary
echo ^<IfModule filter_module^>
echo AddOutputFilterByType DEFLATE text/plain text/html
echo AddOutputFilterByType DEFLATE text/xml application/xml application/xhtml+xml application/xml-dtd
echo AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml image/svg+xml
echo AddOutputFilterByType DEFLATE text/css text/javascript application/javascript application/x-javascript
echo AddOutputFilterByType DEFLATE font/otf font/opentype application/font-otf application/x-font-otf
echo AddOutputFilterByType DEFLATE font/ttf font/truetype application/font-ttf application/x-font-ttf
echo ^</IfModule^>
echo ^</IfModule^>
echo.
echo ^<Directory /^>
echo AllowOverride All
echo Require all granted
echo ^<Files ".*"^>
echo Require all denied
echo ^</Files^>
echo ^</Directory^>
echo.
echo PHPIniDir "%~dp0package"
echo LoadFile "%~dp0package/php5ts.dll"
echo LoadFile "%~dp0package/libpq.dll"
echo LoadModule php5_module "%~dp0package/php5apache2_4.dll"
echo DirectoryIndex index.php index.html default.html
echo AddHandler application/x-httpd-php .php
echo.
echo ^<IfModule alias_module^>
echo Alias /phpinfo "%~dp0package/phpinfo.php"
echo ^</IfModule^>
echo.
echo ^<VirtualHost *:8083^>
echo DocumentRoot "%~dp0appdata"
echo ^<Directory "%~dp0appdata"^>
echo Options +Indexes +FollowSymLinks
echo Require all granted
echo AllowOverride All
echo ^</Directory^>
echo ^</VirtualHost^>
) > "%~dp0package\conf\httpd.conf"
"%~dp0package\bin\httpd.exe" -k install -n "eFarmasiWeb"
echo. && net start eFarmasiWeb
(
echo [client]
echo port = 3303
echo.
echo [mysqld]
echo port = 3303
echo skip-external-locking
echo key_buffer_size = 16K
echo max_allowed_packet = 1M
echo table_open_cache = 4
echo sort_buffer_size = 64K
echo read_buffer_size = 256K
echo read_rnd_buffer_size = 256K
echo net_buffer_length = 256K
echo thread_stack = 240K
echo innodb_log_buffer_size = 8M
echo sql_mode = NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
echo.
echo [mysqldump]
echo quick
echo max_allowed_packet = 16M
echo.
echo [mysql]
echo no-auto-rehash
echo.
echo [myisamchk]
echo key_buffer_size = 8M
echo sort_buffer_size = 8M
echo.
echo [mysqlhotcopy]
echo interactive-timeout
) > "%~dp0package\my.ini"
"%~dp0package\bin\mysqld.exe" --install-manual eFarmasiDB --defaults-file="%~dp0package\my.ini"
echo. && net start eFarmasiDB
(
echo drop database if exists efarmasi;
echo drop user if exists 'useraplikasi'@'localhost';
echo create database efarmasi;
echo grant all privileges on efarmasi.* to 'useraplikasi'@'localhost' identified by 'pyDjr69L5R14';
echo flush privileges;
) > "%~dp0package\temp\initdb.sql"
echo. && echo Creating database for application
"%~dp0package\bin\mysql.exe" -uroot < "%~dp0package\temp\initdb.sql"
echo. && echo Dumping application database
"%~dp0package\bin\mysql.exe" -uroot -Defarmasi < "%~dp0appdata\dbdump.sql"
del "%~dp0package\temp\initdb.sql"
echo. && echo Generate application configuration file
(
echo ^<?php defined^('BASEPATH'^) OR exit^('No direct script access allowed'^);
echo.
echo $active_group = 'lokal';
echo $query_builder = TRUE;
echo.
echo $db['lokal'] = array(
echo 'port' =^> '3303',
echo 'hostname' =^> '127.0.0.1',
echo 'username' =^> 'useraplikasi',
echo 'password' =^> 'pyDjr69L5R14',
echo 'database' =^> 'efarmasi',
echo 'dbdriver' =^> 'mysqli',
echo 'pconnect' =^> FALSE,
echo 'db_debug' =^> FALSE,
echo 'char_set' =^> 'utf8',
echo 'dbcollat' =^> 'utf8_general_ci',
echo 'stricton' =^> FALSE,
echo 'save_queries' =^> TRUE
echo ^);
) > "%~dp0appdata\app\config\database.php"
echo. && echo All done.
echo. && exit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment