Wilhelm Faber

IT Projekte, Expertise, Software Engineer, Street-Photograph aus Ratingen

Vagrant Box mit Ubuntu PHP und MySql...

| Keine Kommentare

Ein Beispiel für den Config eines Vagrant Box auf der Basis von Ubuntu 16.04 und installierten Paketen PHP 5-6 und MySql 5.7

Vagrant file

Vagrant

[pastacode lang=“bash“ manual=“Vagrant.configure(%222%22)%20do%20%7Cconfig%7C%0A%20%20%0A%20%20%23%20base%20os%20box%20-%20latest%20ubuntu%20LTS%0A%20%20config.vm.box%20%3D%20%22https%3A%2F%2Fcloud-images.ubuntu.com%2Fxenial%2Fcurrent%2Fxenial-server-cloudimg-amd64-vagrant.box%22%0A%0A%20%20config.vm.network%20%22public_network%22%2C%20ip%3A%20%22192.168.100.53%22%09%0A%20%20%23%20Setup%20port%20forwarding%0A%20%20%23%20http%0A%20%20config.vm.network%20%3Aforwarded_port%2C%20guest%3A%2080%2C%20host%3A%201080%2C%20auto_correct%3A%20true%0A%20%20config.vm.network%20%3Aforwarded_port%2C%20guest%3A%201080%2C%20host%3A%201081%2C%20auto_correct%3A%20true%0A%20%20%23%20https%0A%20%20config.vm.network%20%3Aforwarded_port%2C%20guest%3A%20443%2C%20host%3A%201443%2C%20auto_correct%3A%20true%0A%20%20%23%20mysql%20db%20%0A%20%20config.vm.network%20%3Aforwarded_port%2C%20guest%3A%203306%2C%20host%3A%201306%2C%20auto_correct%3A%20true%0A%0A%20%20%23%20Setup%20synced%20folder%0A%20%20config.vm.synced_folder%20%22%2Fyour%2Fpath%2Fto%2Fdev%2Ffolder%22%2C%20%22%2Fvar%2Fwww%22%2C%20create%3A%20true%2C%20group%3A%20%22www-data%22%2C%20owner%3A%20%22www-data%22%0A%20%20config.vm.synced_folder%20%22init-scripts%22%2C%20%22%2Fdata%22%2C%20create%3A%20true%2C%20group%3A%20%22root%22%2C%20owner%3A%20%22root%22%0A%0A%20%20%23%20VM%20specific%20configs%0A%20%20config.vm.provider%20%22virtualbox%22%20do%20%7Cv%7C%0A%20%20%20%20%20%20v.name%20%3D%20%22name%20for%20your%20virtual%20box%22%0A%20%20%20%20%20%20v.customize%20%5B%22modifyvm%22%2C%20%3Aid%2C%0A%20%20%20%20%20%20%20%20%20%20%22–memory%22%2C%20%221024%22%2C%0A%20%20%20%20%20%20%20%20%20%20%22–cpus%22%2C%20%222%22%2C%0A%20%20%20%20%20%20%20%20%20%20%22–hwvirtex%22%2C%20%22on%22%2C%0A%20%20%20%20%20%20%20%20%20%20%22–accelerate3d%22%2C%20%22on%22%2C%0A%20%20%20%20%20%20%5D%0A%20%20end%0A%0A%20%20config.vm.provision%20%3Ashell%2C%20%3Ainline%20%3D%3E%20%22sudo%20rm%20%2Fetc%2Flocaltime%20%26%26%20sudo%20ln%20-s%20%2Fusr%2Fshare%2Fzoneinfo%2FEurope%2FBerlin%20%2Fetc%2Flocaltime%22%2C%20run%3A%20%22always%22%0A%0A%20%20%23%20Shell%20provisioning%0A%20%20config.vm.provision%20%22shell%22%20do%20%7Cs%7C%0A%20%20%20%20%20%20s.path%20%3D%20%22init-scripts%2Fsetup.sh%22%0A%20%20end%0Aend“ message=““ highlight=““ provider=“manual“/]

Init-Script

./init-scripts/setup.sh

[pastacode lang=“bash“ manual=“%23!%2Fbin%2Fbash%0A%0Aecho%20%22Provisioning%20virtual%20machine…%22%0A%0Aexport%20LANG%3Den_US.UTF-8%0A%0Aapt%20update%0Aapt-get%20install%20-y%20software-properties-common%0Aadd-apt-repository%20ppa%3Aondrej%2Fphp%0Aapt-key%20adv%20–keyserver%20keyserver.ubuntu.com%20–recv-keys%204F4EA0AAE5267A6C%0Aapt%20update%0Aapt%20install%20-y%20php5.6%20php5.6-bcmath%20php5.6-bz2%20php5.6-cgi%20php5.6-cli%20php5.6-common%20php5.6-curl%20php5.6-dba%20php5.6-dev%20php5.6-enchant%20php5.6-fpm%20php5.6-gd%20php5.6-gmp%20php5.6-imap%20php5.6-interbase%20php5.6-intl%20php5.6-json%20php5.6-ldap%20php5.6-mbstring%20php5.6-mcrypt%20php5.6-mysql%20php5.6-odbc%20php5.6-opcache%20php5.6-pgsql%20php5.6-phpdbg%20php5.6-pspell%20php5.6-readline%20php5.6-recode%20php5.6-snmp%20php5.6-soap%20php5.6-sqlite3%20php5.6-sybase%20php5.6-tidy%20php5.6-xml%20php5.6-xmlrpc%20php5.6-xsl%20php5.6-zip%20apache2%0Aapt%20install%20-y%20libapache2-mod-php5.6%0A%0Aecho%20%22apache%20modules%22%0Aa2enmod%20cache%20dir%20rewrite%20ssl%20status%20vhost_alias%0Aa2dismod%20deflate%20-f%0Aa2dissite%20default%0A%0Amv%20%2Fdata%2Fapache-deverver.conf%20%2Fetc%2Fapache2%2Fsites-available%2F%0Aa2ensite%20apache-deverver.conf%0Aservice%20apache2%20restart%20%0A%0A%23%20MySQL%20%0Aecho%20%22Preparing%20MySQL%22%0A%0Aexport%20mysqlpw%3D%24(pwgen%20-s%2010%20-N%201)%0Aecho%20%22user%3A%20root%22%20%26gt%3B%26gt%3B%20%2Fhome%2Fubuntu%2Fmysql-server-password.txt%0Aecho%20%22pass%3A%20%24%7Bmysqlpw%7D%22%20%26gt%3B%26gt%3B%20%2Fhome%2Fubuntu%2Fmysql-server-password.txt%0Aecho%20’mysql-server%20mysql-server%2Froot_password%20password%20%24%7Bmysqlpw%7D’%20%7C%20debconf-set-selections%0Aecho%20’mysql-server%20mysql-server%2Froot_password_again%20password%20%24%7Bmysqlpw%7D’%20%7C%20%20debconf-set-selections%20%20%0A%0Aecho%20%22Installing%20MySQL%22%0Aapt%20install%20-y%20mysql-server%0A%0Aecho%20%22phpmyadmin%20phpmyadmin%2Finternal%2Freconfiguring%20boolean%20false%22%20%7C%20debconf-set-selections%0Aecho%20%22phpmyadmin%20phpmyadmin%2Fdbconfig-reinstall%20boolean%20false%22%20%7C%20debconf-set-selections%0Aecho%20%22phpmyadmin%20phpmyadmin%2Fdbconfig-install%20boolean%20false%22%20%7C%20debconf-set-selections%0Aecho%20%22phpmyadmin%20phpmyadmin%2Finternal%2Fskip-preseed%20boolean%20true%22%20%7C%20debconf-set-selections%0Aecho%20%22phpmyadmin%20phpmyadmin%2Freconfigure-webserver%20multiselect%20apache2%22%20%7C%20debconf-set-selections%0A%0Aapt-get%20install%20-y%20phpmyadmin%0A%0Aecho%20%22Finished%20provisioning.%22″ message=““ highlight=““ provider=“manual“/]

Config for Virtual Hosts

./init-scripts/apache-deverver.conf

[pastacode lang=“bash“ manual=“%3CVirtualHost%20*%3A80%3E%0A%20%20%20%20%20%20%20%20ServerAdmin%20info%40sample.de%0A%20%20%20%20%20%20%20%20ServerName%20project.localhost%0A%20%20%20%20%20%20%20%20ServerAlias%20*.project.localhost%20project.localhost%0A%20%20%20%20%20%20%20%20DocumentRoot%20%2Fvar%2Fwww%2Fproject%2Fhtdocs%2F%0A%20%20%20%20%20%20%20%20%23%20Possible%20values%20include%3A%20debug%2C%20info%2C%20notice%2C%20warn%2C%20error%2C%20crit%2C%0A%20%20%20%20%20%20%20%20%23%20alert%2C%20emerg.%0A%20%20%20%20%20%20%20%20LogLevel%20warn%0A%20%20%20%20%20%20%20%20CustomLog%20%24%7BAPACHE_LOG_DIR%7D%2Fproject_access.log%20combined%0A%20%20%20%20%20%20%20%20ErrorLog%20%24%7BAPACHE_LOG_DIR%7D%2Fproject.log%0A%0A%20%20%3CDirectory%20%22%2Fvar%2Fwww%2Fproject%2Fhtdocs%22%3E%0A%20%20%20%20%20%20%20%20Options%20Indexes%20FollowSymlinks%0A%20%20%20%20%20%20%20%20AllowOverride%20All%0A%20%20%20%20%20%20%20Require%20all%20granted%0A%20%20%3C%2FDirectory%3E%0A%3C%2FVirtualHost%3E“ message=““ highlight=““ provider=“manual“/]

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.