Skip to content

Instantly share code, notes, and snippets.

@Rushabhsorathia
Last active July 31, 2024 11:59
Show Gist options
  • Save Rushabhsorathia/e9646482e7185ee1313093a406129240 to your computer and use it in GitHub Desktop.
Save Rushabhsorathia/e9646482e7185ee1313093a406129240 to your computer and use it in GitHub Desktop.
PHP Installation Script for LAMP Stack on Debian-Based Systems
z="
";Qz=' # N';YGz='cale';yDz='v/nu';lHz='od +';TBz=' # R';dBz=';; #';NFz='_%'\'';';gCz='git ';xDz=' /de';nCz='che.';lFz='/nul';iDz=' "Se';SEz='ve_p';VIz='ted.';JBz='* ) ';qEz='r SE';SDz=' > /';hEz='l.us';aIz='oot ';iFz='j/ph';mCz=' apa';DBz='"" y';qCz=' ufw';oHz='pswi';UDz='null';uEz='lhos';JIz='ange';cGz='p$ve';ABz=' ${N';bCz='stal';lGz='ml p';ez=' RUS';ZGz='ndar';fEz='TE F';nEz='TE m';YFz=' rep';WGz='ion-';BBz='read';hHz='itch';iHz='_ins';xz='n/sk';AFz=' DAT';kGz='on-x';XDz='ll M';PDz='2 --';eFz='ory ';OCz='let ';nGz='ip p';RGz='on-m';cBz='rn 2';eCz='..."';ODz='ache';sCz='ow '\''';HCz='ev/n';rGz='ll a';MCz='tall';jz='A${N';Vz='reen';gEz='ROM ';BIz='e co';oFz='ate';ZIz='me:r';SFz='epos';NBz=' "Sk';IFz='RE D';MEz='ENTI';jEz='HERE';NHz='phpm';yCz='irew';dz='E BY';YHz='sora';sFz='in 7';WBz='to i';hDz='rver';dDz='erve';ZEz='FLUS';OGz='hp$v';xHz='f ba';qGz='he >';OEz=' WIT';Mz='[0;3';Ez='GREE';PHz='in';FBz='case';VFz=' "Ad';SHz='tps:';BGz='rela';uGz='l PH';pHz='tch.';QHz='clon';SIz='tack';ZCz='en';Zz=' -e ';Fz='N='\''\';BEz='>&1';UEz='ord ';lCz=' the';wDz='ql >';EBz='n';xCz='ng f';oz=') {';ZFz='osit';JFz='b='\''t';LIz='"${N';hGz='stri';GFz='l.db';yBz='acka';Uz='r_sc';yEz='DROP';YCz='; th';fGz='-int';vz='W}$1';aFz='ory.';rHz=' ./i';sz='do';PEz='H my';Hz='0;32';ZHz='thia';tEz='loca';MFz='Db='\''';sEz='st='\''';IHz='hpMy';Kz='OW='\''';KIz=' ver';BHz='n)?"';bIz=':pas';uFz='.1 8';gGz='n-mb';dEz=';';QBz='; re';az='"${G';kEz=' Use';HHz='ll p';XIz='l us';ZBz='skip';CEz='ql <';NIz='HP v';lz='}';pz='whil';XGz='bz2 ';SGz='$ver';wBz='dati';QIz=' "LA';OBz='ippi';gBz='2 to';Bz=''\''\03';VCz='nsta';QFz='dd P';MBz='[Nn]';RHz='e ht';oBz='wer ';rEz='T Ho';Tz='clea';xBz='ng p';GBz=' $yn';nFz='&1';MDz='tatu';vCz=' "Ch';WIz='min ';CGz='ted ';iBz='icat';QEz='sql_';LCz=' ins';EFz='STS ';FGz='"; t';MGz='e2-m';IEz=''\''@'\''l';JGz='rsio';Rz='o Co';FHz='hp p';GGz='hen';eEz='DELE';vGz='P mo';WDz='1';JDz=' sys';DDz='."';ZDz='?"; ';NCz=' fig';WEz='pass';hFz='ndre';XHz='habh';qHz='sh';tCz='Apac';mz='conf';tBz='esac';uz='ELLO';iGz='on-p';KBz='brea';mBz='ease';mDz='n...';JEz='ocal';CDz='us..';CBz=' -p ';IGz='-$ve';OIz='on..';DHz='est ';pGz='pcac';iCz='ll A';JCz='2>&1';OFz='EOF';PBz='ng."';aEz='H PR';jFz='p > ';EGz='les?';rFz='ion ';pDz='ecur';GCz='> /d';YIz='erna';FIz=' "ph';UCz='ant ';Dz='31m'\''';pEz='.use';XEz='word';uDz='tion';QGz='on p';WFz='ding';VEz='BY '\''';sGz='ddit';mHz='x in';sDz='inst';bBz='retu';UFz='y?";';yz='ip]:';AIz=' "us';oGz='on-o';THz='//gi';eHz='.git';jBz='e sk';PCz='if c';KGz='php$';Xz='r';NDz='s ap';aHz='/php';rCz=' all';LDz='tl s';LEz=''\'' ID';RBz='turn';yFz='HP $';XCz='it?"';kDz='ng M';aCz=' "in';sBz='.";;';jHz='er';GDz='ng A';TEz='assw';GEz='ER '\''';AEz='ll 2';IDz='atus';Iz='m'\''';LFz=' OR ';YDz='ySQL';oDz='to s';FDz='tus ';fFz='-y p';VGz='ath ';UBz='etur';nz='irm(';HDz='e st';cIz='swor';ADz='all ';KCz='-get';RCz='rm "';BDz='stat';yGz='ates';jGz='do p';cEz='EGES';wz=' [y/';Lz='\033';WCz='ll G';Wz='() {';TCz='ou w';nBz=' ans';HGz=' php';fz='HABH';jDz='curi';kBz='ip';tDz='alla';kCz='e?";';LGz='liba';FFz='test';MHz='min.';fBz='urn ';NEz='FIED';cCz='ling';fCz=' -y ';iz='THIY';OHz='yadm';KFz='est'\''';EHz='php ';eIz='witc';CCz='.."';fIz='h';CFz='E IF';LHz='myad';uHz='W}"';dHz='ller';tHz='.sh ';jCz='pach';TGz='sion';RDz='ager';vBz=' "Up';WHz='/Rus';AHz='t ve';Yz='echo';vHz='figl';xEz='oot'\''';dCz=' git';wGz='dule';oEz='ysql';fDz='mysq';REz='nati';aBz='[Ss]';Gz='033[';VBz='n 1 ';BFz='ABAS';JHz='Admi';mGz='on-z';EEz='ALTE';Nz='3m'\''';gDz='l-se';LBz='k;;';mEz='UPDA';lDz='atio';QCz='onfi';DEz='<EOF';aGz='-cur';lEz='r='\'''\''';kFz='/dev';Jz='YELL';vFz='.2 8';pCz='he2 ';CHz=' lat';TIz='n co';bHz='swit';gz=' M. ';qz='e tr';tz='"${Y';bDz=' mys';oCz='apac';KDz='temc';ECz=' apt';EDz=' sta';pBz='yes,';cz='}MAD';AGz='and ';PFz='to a';rz='ue; ';qBz=' no,';XBz='ndic';bGz='l ph';vDz='tart';dFz='-rep';cHz='ch_i';rBz=' or ';cFz='-apt';aDz='then';eBz=' Ret';tFz='.4 8';HEz='root';ICz='ull ';kz='C}"';qFz='vers';BCz='ist.';RFz='HP r';DGz='modu';gHz='hpsw';TDz='dev/';xFz='ll P';KHz='n?";';Pz='[0m'\''';nDz='"';IIz='r ch';hBz=' ind';UIz='mple';PIz='-v';rDz='SQL ';YEz=''\'';';Oz='NC='\''';CIz='mman';bz='REEN';UGz='-bcm';PGz='ersi';qDz='e My';FCz=' upd';UHz='thub';DIz='d"';GHz='hp-m';cDz='ql-s';Sz='lor';gFz='pa:o';Az='RED=';vEz='t'\'' W';dIz='phps';bFz=' add';QDz='no-p';HBz=' in';VDz=' 2>&';uBz='done';dGz='n-gd';xGz='s (l';eDz='r ..';SCz='Do y';KEz='host';VHz='.com';iEz='er W';sHz='ll_p';DCz='sudo';DFz=' EXI';yHz='nner';wEz='r='\''r';wCz='ecki';ACz='ge l';RIz='MP s';eGz='text';TFz='itor';kHz=' chm';nHz='l_ph';EIz='}"';tGz='iona';lBz=' "Pl';IBz='[Yy]';SBz=' 1;;';hz='SORA';pFz='for ';XFz=' PHP';wHz='et -';HFz=' WHE';FEz='R US';Cz='3[0;';NGz='od-p';GIz='tch"';HIz=' "fo';hCz='fi';mFz='l 2>';wFz='.3; ';uCz='he'\'' ';fHz='cd p';bEz='IVIL';MIz='ng P';YBz='ate ';
eval "$Az$Bz$Cz$Dz$z$Ez$Fz$Gz$Hz$Iz$z$Jz$Kz$Lz$Mz$Nz$z$Oz$Lz$Pz$Qz$Rz$Sz$z$Tz$Uz$Vz$Wz$z$Tz$Xz$z$Yz$Zz$az$bz$cz$dz$ez$fz$gz$hz$iz$jz$kz$z$lz$z$mz$nz$oz$z$pz$qz$rz$sz$z$Yz$Zz$tz$uz$vz$wz$xz$yz$ABz$kz$z$BBz$CBz$DBz$EBz$z$FBz$GBz$HBz$z$IBz$JBz$KBz$LBz$z$MBz$JBz$Yz$NBz$OBz$PBz$QBz$RBz$SBz$TBz$UBz$VBz$WBz$XBz$YBz$ZBz$z$aBz$JBz$bBz$cBz$dBz$eBz$fBz$gBz$hBz$iBz$jBz$kBz$z$JBz$Yz$lBz$mBz$nBz$oBz$pBz$qBz$rBz$ZBz$sBz$z$tBz$z$uBz$z$lz$z$Tz$Uz$Vz$z$Yz$vBz$wBz$xBz$yBz$ACz$BCz$CCz$z$DCz$ECz$FCz$YBz$GCz$HCz$ICz$JCz$z$DCz$ECz$KCz$LCz$MCz$NCz$OCz$GCz$HCz$ICz$JCz$z$PCz$QCz$RCz$SCz$TCz$UCz$WBz$VCz$WCz$XCz$YCz$ZCz$z$Yz$aCz$bCz$cCz$dCz$eCz$z$DCz$ECz$LCz$MCz$fCz$gCz$GCz$HCz$ICz$JCz$z$hCz$z$PCz$QCz$RCz$SCz$TCz$UCz$WBz$VCz$iCz$jCz$kCz$lCz$EBz$z$Yz$aCz$bCz$cCz$mCz$nCz$CCz$z$DCz$ECz$LCz$MCz$fCz$oCz$pCz$GCz$HCz$ICz$JCz$z$DCz$qCz$rCz$sCz$tCz$uCz$GCz$HCz$ICz$JCz$z$hCz$z$Yz$vCz$wCz$xCz$yCz$ADz$BDz$CDz$DDz$z$DCz$qCz$EDz$FDz$GCz$HCz$ICz$JCz$z$Yz$vCz$wCz$GDz$jCz$HDz$IDz$eCz$z$DCz$JDz$KDz$LDz$MDz$NDz$ODz$PDz$QDz$RDz$SDz$TDz$UDz$VDz$WDz$z$PCz$QCz$RCz$SCz$TCz$UCz$WBz$VCz$XDz$YDz$ZDz$aDz$z$Yz$aCz$bCz$cCz$bDz$cDz$dDz$eDz$CCz$z$DCz$ECz$LCz$MCz$fCz$fDz$gDz$hDz$SDz$TDz$UDz$VDz$WDz$z$Yz$iDz$jDz$kDz$YDz$LCz$MCz$lDz$mDz$nDz$z$PCz$QCz$RCz$SCz$TCz$UCz$oDz$pDz$qDz$rDz$sDz$tDz$uDz$ZDz$aDz$z$DCz$JDz$KDz$LDz$vDz$bDz$wDz$xDz$yDz$AEz$BEz$z$DCz$bDz$CEz$DEz$z$EEz$FEz$GEz$HEz$IEz$JEz$KEz$LEz$MEz$NEz$OEz$PEz$QEz$REz$SEz$TEz$UEz$VEz$WEz$XEz$YEz$z$ZEz$aEz$bEz$cEz$dEz$z$eEz$fEz$gEz$fDz$hEz$iEz$jEz$kEz$lEz$dEz$z$mEz$nEz$oEz$pEz$qEz$rEz$sEz$tEz$uEz$vEz$jEz$kEz$wEz$xEz$dEz$z$yEz$AFz$BFz$CFz$DFz$EFz$FFz$dEz$z$eEz$fEz$gEz$fDz$GFz$HFz$IFz$JFz$KFz$LFz$MFz$FFz$NFz$z$ZEz$aEz$bEz$cEz$dEz$z$OFz$z$hCz$z$hCz$z$PCz$QCz$RCz$SCz$TCz$UCz$PFz$QFz$RFz$SFz$TFz$UFz$lCz$EBz$z$Yz$VFz$WFz$XFz$YFz$ZFz$aFz$CCz$z$DCz$bFz$cFz$dFz$ZFz$eFz$fFz$gFz$hFz$iFz$jFz$kFz$lFz$mFz$nFz$z$DCz$ECz$FCz$oFz$z$hCz$z$pFz$qFz$rFz$sFz$tFz$uFz$vFz$wFz$sz$z$PCz$QCz$RCz$SCz$TCz$UCz$WBz$VCz$xFz$yFz$qFz$rFz$AGz$BGz$CGz$DGz$EGz$FGz$GGz$z$Yz$aCz$bCz$cCz$HGz$IGz$JGz$mDz$nDz$z$DCz$ECz$LCz$MCz$fCz$KGz$qFz$rFz$LGz$jCz$MGz$NGz$OGz$PGz$QGz$OGz$PGz$RGz$oEz$HGz$SGz$TGz$UGz$VGz$KGz$qFz$WGz$XGz$KGz$qFz$WGz$YGz$ZGz$HGz$SGz$TGz$aGz$bGz$cGz$JGz$dGz$HGz$SGz$TGz$KCz$eGz$HGz$SGz$TGz$fGz$bGz$cGz$JGz$gGz$hGz$xBz$OGz$PGz$iGz$jGz$OGz$PGz$kGz$lGz$OGz$PGz$mGz$nGz$OGz$PGz$oGz$pGz$qGz$xDz$yDz$AEz$BEz$z$hCz$z$uBz$z$PCz$QCz$RCz$SCz$TCz$UCz$WBz$VCz$rGz$sGz$tGz$uGz$vGz$wGz$xGz$yGz$AHz$JGz$BHz$YCz$ZCz$z$Yz$aCz$bCz$cCz$HGz$CHz$DHz$qFz$rFz$eCz$z$DCz$ECz$LCz$MCz$fCz$EHz$LGz$jCz$MGz$NGz$FHz$GHz$oEz$SDz$TDz$UDz$VDz$WDz$z$hCz$z$PCz$QCz$RCz$SCz$TCz$UCz$WBz$VCz$HHz$IHz$JHz$KHz$lCz$EBz$z$Yz$aCz$bCz$cCz$HGz$LHz$MHz$eCz$z$DCz$ECz$LCz$MCz$fCz$NHz$OHz$PHz$z$hCz$z$gCz$QHz$RHz$SHz$THz$UHz$VHz$WHz$XHz$YHz$ZHz$aHz$bHz$cHz$VCz$dHz$eHz$z$fHz$gHz$hHz$iHz$MCz$jHz$z$DCz$kHz$lHz$mHz$bCz$nHz$oHz$pHz$qHz$z$DCz$rHz$VCz$sHz$gHz$hHz$tHz$GCz$HCz$ICz$JCz$z$Tz$Uz$Vz$z$Yz$Zz$tz$uz$uHz$z$vHz$wHz$xHz$yHz$AIz$BIz$CIz$DIz$z$Yz$Zz$az$bz$EIz$z$vHz$wHz$xHz$yHz$FIz$oHz$GIz$z$Yz$Zz$tz$uz$uHz$z$vHz$wHz$xHz$yHz$HIz$IIz$JIz$HGz$KIz$TGz$nDz$z$Yz$Zz$LIz$kz$z$Yz$vCz$wCz$MIz$NIz$PGz$OIz$DDz$z$EHz$PIz$z$Yz$QIz$RIz$SIz$LCz$MCz$lDz$TIz$UIz$VIz$HGz$LHz$WIz$AGz$fDz$XIz$YIz$ZIz$aIz$WEz$XEz$bIz$cIz$DIz$z$dIz$eIz$fIz"
@Rushabhsorathia
Copy link
Author

Rushabhsorathia commented Jul 26, 2024

πŸŽ‰ PHP Installation Script for LAMP Stack on Debian-Based Systems

This script automates the installation of a LAMP (Linux, Apache, MySQL, PHP) stack on a Debian-based system. It provides options for installing essential components and configuring them with default settings. The script also includes an option to bypass interactive prompts.

πŸš€ Features

  • Git Installation: πŸ› οΈ Installs Git version control system.
  • Apache Installation: 🌐 Installs Apache HTTP Server and configures firewall rules.
  • MySQL Installation: πŸ—ƒοΈ Installs MySQL Server and optionally secures the installation.
  • PHP Installation: 🧩 Adds the PHP repository and installs multiple PHP versions with common modules.
  • phpMyAdmin Installation: πŸ“Š Installs phpMyAdmin for database management.
  • Custom PHP Switch: πŸ”„ Clones and executes a custom PHP version switcher script.

πŸ—ƒοΈ Mysql & PhpMyAdmin

  • Username: root
  • Password: password

πŸ“‹ Requirements

  • Debian-based Linux distribution (e.g., Ubuntu).
  • sudo privileges.

πŸ“– Usage

  1. Download the Script

    Download the php-apache-mysql-setup.sh script to your local machine. You can use curl or wget to do this, or clone the repository if it's hosted online.

    wget https://gist.githubusercontent.com/Rushabhsorathia/e9646482e7185ee1313093a406129240/raw/8f30b20034fd9a0b09dd72b4823ad435ee609a86/php-apache-mysql-setup.sh
  2. Make the Script Executable

    Before running the script, make it executable:

    chmod +x php-apache-mysql-setup.sh
  3. Run the Script

    Execute the script to start the installation process. You can use the -y flag to skip all interactive prompts and proceed with default settings.

    sudo ./php-apache-mysql-setup.sh -y
    • Without -y: You will be prompted to confirm each installation step.
    • With -y: All prompts will be automatically answered with "yes," and the script will run without interruptions.

πŸ› οΈ Detailed Steps

  1. Clear Screen and Show Author Message

    The script starts by clearing the screen and displaying the author's message.

  2. Update Package List

    The script updates the package list from the repositories.

  3. Install Essential Packages

    • Git: πŸ› οΈ Version control system.
    • Apache: 🌐 Web server.
    • MySQL: πŸ—ƒοΈ Database server.
    • PHP: 🧩 Multiple PHP versions and modules.
    • phpMyAdmin: πŸ“Š Web-based MySQL management tool.
  4. Add PHP Repository

    Adds the ondrej/php repository for installing multiple PHP versions.

  5. Install PHP Versions

    Installs PHP versions 7.4, 8.1, 8.2, and 8.3, including common modules.

  6. Install Additional PHP Modules

    Installs additional PHP modules for the latest PHP version.

  7. Install phpMyAdmin

    Installs phpMyAdmin for managing MySQL databases.

  8. Custom PHP Switcher

    Clones and executes a custom PHP version switcher script from a GitHub repository.

  9. Display Completion Message

    Clears the screen and displays a message on how to use the phpswitch command to change PHP versions.

πŸ“ Notes

  • Ensure you have a working internet connection as the script downloads and installs packages from the web.
  • The script assumes you are running it with sudo privileges to install packages and modify system settings.
  • Review the script and customize any settings or commands as needed for your environment.

🚧 Troubleshooting

  • Package Manager Lock Error: If you encounter a lock error, the script will wait until the lock is released before proceeding.
  • Permissions Issues: Ensure you have the necessary permissions to execute the script and install packages.

contect me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment