Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $web_dir = "/tmp/web"
- $nginx_sites_available = "/etc/nginx/sites-available"
- $nginx_sites_enabled = "/etc/nginx/sites-enabled"
- $site_name = "phpmyadmin.local"
- $phpMyAdminURL = "https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip"
- $config = "server {
- listen 80;
- root $web_dir/$site_name;
- index index.html index.htm index.php;
- server_name _;
- location ~ \.php$ {
- include snippets/fastcgi-php.conf;
- fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
- }
- }
- "
- #Removing packages that interfere with the installation of MySQL
- package{"mariadb-libs":
- ensure => removed,
- }
- #Install dependencies for Nginx
- package{"epel-release":
- ensure => installed,
- }
- # Add Nginx repo
- yumrepo { 'nginx_stable_repo':
- enabled => 1,
- descr => 'nginx_stable_repo',
- baseurl => 'http://nginx.org/packages/centos/$releasever/$basearch/',
- gpgcheck => 1,
- gpgkey => 'https://nginx.org/keys/nginx_signing.key',
- }
- # Add php repo
- package { 'php':
- provider => 'rpm',
- ensure => installed,
- source => 'https://mirror.webtatic.com/yum/el7/webtatic-release.rpm',
- }
- exec {'yum -y update':}
- #list of packages for installation
- $base_packages = [
- "nginx",
- "php70w-fpm",
- "php70w-bcmath",
- "php70w-pecl-imagick",
- "php70w-pdo",
- "perl-Data-Dumper",
- "redis",
- ]
- #install packages
- package{$base_packages:
- ensure => installed,
- }
- package { 'mysql-server':
- provider => 'rpm',
- ensure => installed,
- source => 'https://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.43-1.el7.x86_64.rpm',
- }
- #create dir for web site
- file { ["$web_dir",
- "$web_dir/$site_name"]:
- ensure => 'directory',
- }
- archive { "phpMyAdmin":
- source => $phpMyAdminURL,
- extract => true,
- extract_path => $web_dir/$site_name,
- cleanup => true,
- path => "/tmp/phpMyAdmin-4.8.5-all-languages.zip"
- }
- #delete default config for nginx
- file { "$nginx_sites_enabled/default":
- ensure => 'absent',
- }
- #create config file for nginx from template
- file { "$nginx_sites_available/$site_name":
- ensure => 'present',
- content => $config
- }
- #create symbolic link for enabling config file
- file { "$nginx_sites_enabled/$site_name":
- ensure => 'link',
- target => "$nginx_sites_available/$site_name"
- }
- #testing nginx config and reload web-server
- exec { "nginx -s reload":
- path => "/usr/bin:/usr/sbin:/bin",
- onlyif => "nginx -t",
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement