OSX post install para desarrollo con node, react, atom, brew

Small reference guide for OSX installation basics.

Homebrew

This is most used macOS pacakage manager.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Atom

brew cask install atom
apm install nuclide
apm install prettier-atom bootstrap-3-snippets-for-atom emmet language-graphql language-vue remote-ftp git-time-metric

PHP

apm install atom-autocomplete-php language-blade php-fmt

Configure atom-autocomplete-php composer path /usr/local/bin/composer.phar and php-fmt plugin with executable /Users/smac/kscripts/fmt.phar

HHVM

Facebook´s php engine. (optional)

brew tap hhvm/hhvm
brew install hhvm

To have launchd start hhvm/hhvm/hhvm now and restart at login:
  brew services start hhvm/hhvm/hhvm
Or, if you don't want/need a background service you can just run:
  hhvm -m daemon -c /usr/local/etc/hhvm/php.ini -c /usr/local/etc/hhvm/server.ini

Node

brew install node watchman

React native

npm install -g yarn && react-native-cli && react-native-git-upgrade && react-devtools

GraphQL

npm install -g graphql-cli && graphql completion >> ~/.bash_profile

Alias

vi .bash_profile
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

Maria DB

Install brew install mariadb && brew services start mariadb

Old database are stored in:

/Volumes/OLD_DRIVE/usr/local/var/mysql

Applications passwords

Some applications are using the following location to store the passwords, for example Squel Pro. Copy old keychain to new hard drive.

cp /Volumes/OLD_DRIVE/Users/OLD_USER/Library/Keychains/login.keychain-db /Users/NEW_USER/Library/Keychains/login.keychain-db

SSH

Copy importants files from ~/.ssh/

Install Laravel & Co.

brew install homebrew/core/php
composer global require "laravel/installer"
composer global require laravel/valet
composer global require laravel/envoy

PHP extras

brew install imagemagick
brew install pkg-config
pecl install imagick

VueJS

npm install -g @vue/devtools

Tunear PHP.ini para Centos7 y Nginx

Cada vez que creamos un nuevo Servidor Virtual nuestro sistema de creación replica el archivo que encuentra en /etc/php.ini, por eso lo que hacemos es editarla al crear el servidor y asi usaremos los mismos parámetros bases para todos los servidores virtuales que vamos añadiendo a cada Servidor Dedicado.

La seguridad es lo primero

Esconder la version de PHP en las cabeceras de las páginas servidas a nuestros usuarios maliciosos:

expose_php = Off

Output buffering – Error 502 Nginx

Deshabilitar output buffering, con esto deshabitamos el ob_flush(), esto evita errores tipo 502 en los servidores Nginx, sinceramente, es cuestión de gustos, si no hay buffer la experiencia del usuario se ve truncada a que termine de ejecutar un script hasta que muestra el resultado en pantalla, el caso más claro es cuando WordPress instala/actualiza los plugins y vamos viendo como se instala uno detrás de otro, con el buffering a Off solo veríamos el resultado final, el servidor retiene todo el contenido hasta que ha terminado todos los proceso que le require la carga de está página de WordPress, lo ideal es subir el limite por defecto que nos pone por defecto de 4096 bytes, pero si necesitamos recursos extras lo podemos subir a 16384 bytes.

output_buffering = Off
– or –
output_buffering = 16384

Tiempo de ejecución de los Script

En nuestro caso, corremos bases de datos bastante grandes, hacemos backups y sincronización de datos, a veces los 30 segundos que nos da PHP por defecto nos viene corta, por eso la subimos a 120 segundos el tiempo de espera a que se ejecute un script en una página php.

max_execution_time = 120

Otros valores

Queremos errores, nada más.

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_WARNING & ~E_NOTICE

Mejor un error que una página en blanco que no dice nada.

display_errors = On

Estos valores dependen de vuestros usuarios, que tipo de aplicaciones utilizan.


post_max_size = 20M
upload_max_filesize = 19M

Substituir Apache por nginx en Centos7 + Virtualmin

Somos fanáticos de NGINX, no podemos ocultarlo, es más complicado tunearlo pero los rendimientos son sorprendentes, entre los beneficios que nos da nginx es que no estamos limitados a correr servicios para PHP sino que tambien podemos usar Ruby o cualquier tipo de SOCKET.

Los pasos a seguir son los siguientes:

[bash]
service httpd stop ; chkconfig httpd off
yum install nginx
systemctl start nginx
yum install wbm-virtualmin-nginx wbm-virtualmin-nginx-ssl
[/bash]

 
Login to Virtualmin as root, and go to Webmin -> Servers -> Nginx Webserver and make sure that Nginx and its configuration files are found.
If not, click on the Module Config link and set the config and command paths correctly.

Return to Virtualmin, and go to System Settings -> Features and Plugins.

Un-check the “Apache website” , “SSL website” and “DAV Login”, “Mailman”, “Protected web directories”, “AWstats reporting” and “Subversion repositories” features.

Check the “Nginx website” and “Nginx SSL website” features, then click “Save”.

If Virtualmin reports that any other features cannot be used without Apache, go back and de-select them too.

Go to the System Information page and click Refresh system information in the top right.

Verify that Nginx is shown as running in the “Status” section.

Esto es todo amigos,..

FUENTE: https://www.virtualmin.com/documentation/web/nginx