marijnvdwerf / test-server-setup

0 stars 0 forks source link

Manual setup logbook #1

Open rmens opened 9 years ago

rmens commented 9 years ago

Basics:

apt-get update; apt-get upgrade -y; reboot

Apache:

apt-get install apache2

HHVM:

apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449 echo deb http://dl.hhvm.com/debian jessie main | sudo tee /etc/apt/sources.list.d/hhvm.list echo deb http://dl.hhvm.com/debian jessie main | sudo tee /etc/apt/sources.list.d/hhvm.list echo deb http://dl.hhvm.com/debian jessie main | tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update apt-get update apt-get install hhvm

testen:

hhvm -m server

HHVM in apache stoppen:

service apache2 stop /usr/share/hhvm/install_fastcgi.sh service apache2 start

Virtual host aanmaken:

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/001-staging.conf

Virtualhost activeren:

a2ensite 001-staging.conf

Deploy user aanmaken:

adduser deploy

Deploytools installeren:

Zie Github

Env aanmaken

nano /var/www/staging/shared/.env

HHVM 404 bug oplossen

nano /etc/hhvm/server.ini Lijn toevoegen: hhvm.server.fix_path_info = false mv /etc/apache2/mods-enabled/hhvm_proxy_fcgi.disables /etc/apache2/mods-enabled/hhvm_proxy_fcgi.NEIN

Dirs chownen

chown -R deploy /var/www/staging chomd -R 755 /var/www/staging

marijnvdwerf commented 9 years ago
rmens commented 9 years ago

MySQL conf van isabel

#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
# 
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
#
# * Basic Settings
#
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address       = 127.0.0.1
#
# * Fine Tuning
#
key_buffer      = 500M
max_allowed_packet  = 16M
sort_buffer_size        = 64K

# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover         = BACKUP
max_connections        = 300 
table_cache            = 1024 
thread_cache = 8
thread_concurrency = 32
#thread_concurrency     = 10

#
# * Query Cache Configuration
#
query_cache_limit   = 2M
query_cache_size        = 2000M

default-storage-engine = innodb
tmp_table_size = 256M
max_heap_table_size = 256M
# 

#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
#general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
#
# Here you can see queries with especially long duration
log_slow_queries    = /var/log/mysql/mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
#server-id      = 1
#log_bin            = /var/log/mysql/mysql-bin.log
expire_logs_days    = 10
max_binlog_size         = 100M
#binlog_do_db       = include_database_name
#binlog_ignore_db   = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#

#InnoDB buffers
innodb_buffer_pool_size         = 9000M
#innodb_buffer_pool_instances   = 2
innodb_additional_mem_pool_size = 20M
innodb_lock_wait_timeout        = 60
innodb_flush_log_at_trx_commit  = 2
innodb_flush_method             = O_DIRECT
innodb_thread_concurrency       = 32

#InnoDB files
innodb_file_per_table
#innodb_log_file_size        = 256M
innodb_log_file_size        = 1900M
innodb_log_buffer_size      = 8M
innodb_autoextend_increment = 200M
innodb_open_files           = 1024

# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem

ssl-ca=/etc/ssl/mysql/ca-cert.pem
ssl-cert=/etc/ssl/mysql/server-cert.pem
ssl-key=/etc/ssl/mysql/server-key.pem

[mysqldump]
quick
quote-names
max_allowed_packet  = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer      = 16M
marijnvdwerf commented 9 years ago

These are the differences between the default my.cnf and the version you just posted.

MySQL my.cnf VROUW my.cnf
[mysqld]
bind-address 127.0.0.1 # 127.0.0.1
key_buffer 16M 500M
thread_stack 192K -
thread_cache_size 8 -
sort_buffer_size - 64K
max_connections # 100 300
table_cache # 64 1024
thread_cache - 8
thread_concurrency # 10 32
query_cache_limit 1M 2M
query_cache_size 16M 2000M
default-storage-engine - innodb
tmp_table_size - 256M
max_heap_table_size - 256M
log_error /var/log/mysql/error.log -
slow_query_log_file /var/log/mysql/mysql-slow.log (commented)
slow_query_log # 1
log_slow_queries /var/log/mysql/mysql-slow.log
long_query_time # 2 2
log_queries_not_using_indexes # yes
innodb_buffer_pool_size 9000M
innodb_buffer_pool_instances # 2
innodb_additional_mem_pool_size 20M
innodb_lock_wait_timeout 60
innodb_flush_log_at_trx_commit 2
innodb_flush_method O_DIRECT
innodb_thread_concurrency 32
innodb_file_per_table yes
innodb_log_file_size # 256M
innodb_log_file_size 1900M
innodb_log_buffer_size 8M
innodb_autoextend_increment 200M
innodb_open_files 1024
ssl-ca # /etc/mysql/cacert.pem /etc/ssl/mysql/ca-cert.pem
ssl-cert # /etc/mysql/server-cert.pem /etc/ssl/mysql/server-cert.pem
ssl-key # /etc/mysql/server-key.pem /etc/ssl/mysql/server-key.pem
rmens commented 9 years ago

Na test bij DigitalOcean zou zoiets erbij moeten schermafbeelding 2015-06-20 om 23 10 50

- name: Hoofdmap maken
  file: path={{path}} state=directory 
rmens commented 9 years ago

Deploy tools zitten er nu in! :)

rmens commented 9 years ago

Dit zijn nog actiepunten;

marijnvdwerf commented 9 years ago
rmens commented 9 years ago

actiepunt:

(voorlopig; zolang je search.onemorething.nl aanroept blijft het wel werken)

marijnvdwerf commented 9 years ago

Misschien weet @remibaar daar wat van?

rmens commented 9 years ago

Data storage

gaat nu als volgt (fake IP ivm public repo):

#CDN content disk
10.10.10.10:/var/www/cdn/uploads /var/www/madewithlove/wp-content/uploads nfs rw,hard,intr,sync 0       0

Blijkbaar is er geen autorisatie voor die nfs-share nodig.