Skip to content
Snippets Groups Projects

CMS CentOS setup

  • Clone with SSH
  • Clone with HTTPS
  • Embed
  • Share
    The snippet can be accessed without any authentication.
    Authored by Shanthosh Kumar
    Edited
    setup.sh 2.39 KiB
    #!/bin/bash
    
    green=`tput setaf 2`
    reset=`tput sgr0`
    os=$(awk -F= '$1=="ID" { print $2 ;}' /etc/os-release);
    if [ $os != "\"centos\"" ]; then
        echo "The script works with centos only.. proceed with manual installation."
        exit;
        fi
    
    sudo yum update -y;
    
    if [ ! -f $HOME/.ssh/id_rsa.pub ]; then
        ssh-keygen
        fi
    echo "";
    echo "Add the following key under SSH keys in Gitlab";
    echo ${green}
    cat $HOME/.ssh/id_rsa.pub;
    echo ${reset}
    read -p "Add the key and press enter to continue";
    
    sudo yum install git zip unzip -y
    
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
    source $HOME/.bashrc
    nvm install 12;
    nvm use 12;
    
    curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
    sudo rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg
    sudo yum install yarn
    
    sudo yum install epel-release yum-utils -y;
    yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm;
    sudo yum-config-manager --enable remi-php74;
    sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-dom php-mbstring php-xml php-pdo php-openssl -y;
    
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
    
    if [ ! -f /data/cms ]; then
        git clone https://git.amrita.edu/cms/cms.git /data
        cd /data/cms
        chown -R cms:web .
    	echo "Project located. Configuring and installing dependencies."
    	chmod -R 0777 storage
    	chmod -R 0777 bootstrap/cache
    	cp .env.example .env
        echo "Opening env file. Update env and writequit the editor for changes to reflect".
        read -p "press enter to open the file"
        vim .env
        composer install;
    	php artisan setup:environment;
    	npm install --loglevel http;
    	npm install -g gulp --loglevel http;
    	echo "Minifying and packaging public assets"
    	gulp --production;
        php artisan key:generate
    	echo -n "Would you like to setup the database schema and seeds (y/n)? "
        read answer
        if echo "$answer" | grep -iq "^y" ;then
            php artisan migrate:reset
            php artisan migrate --seed
        else
            echo -n "Database setup cancelled. You should manually setup database and seeds if required."
        fi
        touch public/setup/setup_can_start.now
        info=`php artisan setup:show-info`
    fi
    git remote set-url origin git@git.amrita.edu:cms/cms.git;
    path=`pwd`
    echo "CMS has been download and the dependencies have been installed at $path";
    echo $info;
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment