Ravindra BagaleCourses & study guides English

Amazon Linux 2023 वर Nginx सह WordPress Install करा

आता तुम्ही PHP code चालवू शकता आणि त्याचा data MariaDB मध्ये ठेवू शकता. या chapter मध्ये तुम्ही लाखो websites वापरतात असं एक पूर्ण PHP application install कराल: WordPress. nginx, php-fpm आणि MariaDB असलेल्या एकाच Amazon Linux 2023 EC2 server वर ते setup कराल, त्याला स्वतःचा database user आणि folder चा योग्य owner द्याल, installer पूर्ण कराल, image सह एक post publish कराल, theme बदलाल, आणि server चा IP बदलला की WordPress site का बिघडते ते शिकाल.

या class मध्ये काय शिकणार

  • CMS म्हणजे काय, तो framework पेक्षा वेगळा कसा, आणि WordPress ने काय बनवू शकता
  • WordPress साठी LEMP stack, php-mysqlnd सह, आणि HTML आणि PHP चा छोटा test
  • Stable latest.zip download करून /usr/share/nginx/html/wordpress मध्ये unzip करणं
  • nginx server block: root, index index.php;, try_files आणि server_name _;
  • Ubuntu वर याच steps: काय बदलतं
  • wordpressdb database आणि फक्त WordPress साठी wpuser
  • php-fpm user ला folder ची ownership, 755 आणि 644, आणि 777 कधीच का नाही
  • Installer च्या दोन screens: आधी database details, मग website चा login
  • wp-admin dashboard: posts, block editor, Media Library आणि themes
  • EC2 चा public IP बदलला की site का बिघडते, आणि ते कसं टाळायचं

1. WordPress म्हणजे काय: CMS, framework नाही

का: काहीही install करण्याआधी ते कोणत्या प्रकारचं software आहे ते माहीत हवं. Install नंतर काम कोण करणार ते त्यावरून ठरतं: code लिहिणारा developer, की content टाइप करणारा site owner.

काय:

  1. Framework म्हणजे developers ना app लवकर बनवायला मदत करणारा तयार code: PHP साठी Laravel, Python साठी Django आणि Flask, Node.js साठी Express. Pages, forms आणि login तुम्हालाच लिहावे लागतात.
  2. CMS (content management system) म्हणजे install करून मग content ने भरायची तयार website. WordPress हा PHP मध्ये लिहिलेला CMS आहे. Site owner admin dashboard मधून code शिवाय लिहितो, सजवतो आणि publish करतो.
  3. WordPress मध्ये pages आणि posts database मधल्या rows असतात, वेगवेगळ्या HTML files नाही. Visitor post उघडतो तेव्हा PHP ती row वाचून page लगेच बनवतो, जसं एखादं app प्रत्येक reel त्याच्या database मधून आणतं.

काय बनवू शकता: blog, news site, company website, portfolio, video site, किंवा WooCommerce सारख्या plugin सह online shop. Flipkart सारखा shop सुद्धा WordPress ने बनवता येईल, पण खूप मोठे shops बहुतेक स्वतःचा code लिहितात.

Framework तुम्हाला भाग देतो; CMSतुम्हाला चालू website देतो Framework Laravel (PHP) Django, Flask (Python) Express (Node.js) Developers ना मदत करणारा तयार codeम्हणजे app लवकर बनतो. Pages, forms, loginहे सगळं तुम्हालाच लिहावं लागतं.प्रत्येक बदल म्हणजे code बदलणं. CMS: content management system WordPress (written in PHP) Install करून भरायची तयार website.Admin dashboard मधून लिहा, सजवा आणिpublish करा, code शिवाय. Pages आणि postsdatabase मधल्या rows असतात, HTML files नाही.Theme एका click मध्ये look बदलते. WordPress ने काय काय बनवू शकता Blog News site Company website Portfolio Video site Online shop (plugin सह) अनेक मोठ्या sites WordPress वर चालतात. Flipkart सारखा shopसुद्धा त्याने बनवता येईल, पण मोठे shops बहुतेक स्वतःचा codeलिहितात.

Figure 1. Framework (Laravel, Django, Flask, Express) developers ना तयार भाग देतो; WordPress सारखा CMS ही dashboard मधून owner भरतो अशी तयार website. Blogs, news, company sites, portfolios, video sites आणि shops.

2. Server: LEMP

का: WordPress हा PHP code आहे जो सगळं MySQL-compatible database मध्ये ठेवतो. त्याला web server, PHP, एक रिकामा database आणि लिहिता येईल असा folder लागतो.

काय: LEMP = Linux + nginx (उच्चार Engine-X) + MariaDB + PHP. nginx ऐवजी Apache असेल तर याच stack ला LAMP म्हणतात. इथे आपण nginx वापरतो.

कसं:

  1. Amazon Linux 2023 आणि t3.micro सारखा छोटा type घेऊन EC2 instance launch करा. त्याच्या security group मध्ये तुमच्या IP वरून SSH (22) आणि HTTP (80) allow करा.
  2. Connect करा: ssh -i key.pem ec2-user@SERVER-IP.
  3. PHP च्या MySQL driver सकट stack install करा:

    sudo yum install nginx mariadb105-server php php-fpm php-mysqlnd -y
    
  4. Install fail झालं तर आधी sudo yum update -y ने package list update करा, मग परत try करा.

Classroom line

If some software won't install, update the package manager first.

  1. तीन services सुरू करा:

    sudo service nginx start
    sudo service mariadb start
    sudo service php-fpm start
    
  2. WordPress च्या आधी HTML आणि PHP test करा:

    echo '<h1>HTML works</h1>' | sudo tee /usr/share/nginx/html/index.html
    echo '<?php phpinfo();' | sudo tee /usr/share/nginx/html/info.php
    
  3. http://SERVER-IP/ आणि http://SERVER-IP/info.php उघडा. HTML works आणि PHP चं मोठं information page दिसेल. मग test page delete करा, कारण ते server details दाखवतं: sudo rm /usr/share/nginx/html/info.php.

L E M P: Linux, nginx (Engine-X), MariaDB, PHP Browser उघडतो http://SERVER-IP/ nginx Web server, port 80 · root: wordpress folder /usr/share/nginx/html/wordpress php-fpm WordPress code चालवतो apache user म्हणून · php-mysqlnd लागतो MariaDB Database server wordpressdb · user 'wpuser' Install आणि start (Amazon Linux 2023) sudo yum install nginx mariadb105-server php php-fpmphp-mysqlnd -y sudo service nginx start sudo service mariadb start sudo service php-fpm start WordPress च्या आधी test echo '<h1>HTML works</h1>' | sudo tee/usr/share/nginx/html/index.html echo '<?php phpinfo();' | sudo tee/usr/share/nginx/html/info.php दोन्ही pages उघडले: nginx आणि PHP चालतात. Test नंतर info.php delete करा:तो server details दाखवतो.

Figure 2. WordPress साठी LEMP: wordpress folder मध्ये root असलेला port 80 वरचा nginx, WordPress code apache म्हणून चालवणारा php-fpm (php-mysqlnd सह), आणि wordpressdb ठेवणारा MariaDB. Install, start आणि test.

3. PHP चा MySQL driver

का: WordPress चं index.php सुरुवातीलाच database ला connect होतं. Driver नसेल तर PHP कडे mysqli functions नसतात आणि installer तुमच्या PHP installation मध्ये MySQL extension नाही असा error देऊन थांबतो.

Classroom line

WordPress's index.php has database code in it; if you don't install the MySQL connector, the code will fail.

कसं:

  1. Package चं नाव php-mysqlnd. वरच्या install command मध्ये तो होता; राहिला असेल तर आता install करा: sudo yum install php-mysqlnd -y.
  2. फक्त php-fpm restart करा, कारण PHP extensions तोच load करतो: sudo service php-fpm restart.
  3. तपासा: php -m | grep -i mysql मध्ये mysqli, mysqlnd आणि pdo_mysql दिसतात.

4. WordPress download करा

का: WordPress free, open-source code आहे. तो एकदा server वर download करायचा, आणि nginx तिथून serve करतो.

Classroom line

We have to get that code from somewhere.

काय: नेहमी https://wordpress.org/latest.zip वरून stable release घ्या. GitHub वरची development branch ची copy अपूर्ण code असतो, तो WordPress developers साठी, website साठी नाही.

कसं:

  1. Web root मध्ये जा आणि download करा:

    cd /usr/share/nginx/html
    sudo wget https://wordpress.org/latest.zip
    
  2. Unzip करा: sudo unzip latest.zip. sudo लागतो कारण web root root च्या मालकीचा आहे. wget किंवा unzip नसेल तर sudo yum install wget unzip -y ने install करा.

  3. Zip मधून एक folder बनतो, wordpress, आणि त्यात index.php, wp-admin, wp-content, wp-includes आणि wp-config-sample.php. ls wordpress ने तपासा.
  4. Folder चं नाव wordpress ठेवा: एकच शब्द, सगळे small letters. Linux paths case-sensitive असतात, म्हणून WordPress आणि wordpress हे दोन वेगळे folders, आणि nginx config मधलं नाव अगदी तसंच जुळायला हवं.

Classroom line

Use a single word; then there's no hassle later.

  1. Zip काढून टाका: sudo rm latest.zip.

5. nginx ला WordPress कडे वळवा

का: nginx अजून /usr/share/nginx/html serve करतो, म्हणून IP वर जुनं test page दिसतं. त्याने wordpress folder serve करायला हवा, default ने index.php उघडायला हवं, आणि WordPress च्या post links index.php कडे पाठवायला हव्यात.

काय: sudo nano /etc/nginx/nginx.conf ने main config उघडा आणि server { ... } block शोधा. या ओळी directives आहेत, म्हणजे nginx वाचतो त्या settings:

  1. server_name _; Underscore म्हणजे कुठलंही नाव किंवा IP. Domain नसेपर्यंत हेच ठेवा; इथे मनाने domain name बनवू नका.
  2. root /usr/share/nginx/html/wordpress; nginx serve करतो तो folder.
  3. index index.php; कोणी folder मागितला, उदा. /, तर nginx त्यातली index.php उघडतो.
  4. location / { try_files $uri $uri/ /index.php?$args; } Request खरी file ($uri) किंवा खरा folder ($uri/) नसेल तर ती WordPress च्या index.php कडे द्या. /hello-world/ सारख्या WordPress post links disk वर नसतात, म्हणून ही ओळ नसेल तर त्या 404 Not Found देतात.
  5. include /etc/nginx/default.d/*.conf; ही ओळ तशीच ठेवा: Amazon Linux 2023 वर php-fpm package त्याच्या PHP settings तिथे ठेवतं, म्हणून nginx .php files php-fpm कडे देऊ शकतो.

Classroom line

If there's no domain name, you have to put an underscore there.

कसं: बदल केल्यावर block असा दिसतो:

server {
    listen       80;
    listen       [::]:80;
    server_name  _;
    root         /usr/share/nginx/html/wordpress;
    index        index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;
    ...
}
  1. Save करा, मग syntax test करा: sudo nginx -t. त्यात syntax is ok आणि test is successful दिसायलाच हवं.
  2. लागू करा: sudo service nginx reload.
  3. http://SERVER-IP/ उघडा. WordPress तुम्हाला /wp-admin/setup-config.php वर, म्हणजे installer कडे, पाठवतं.
/etc/nginx/nginx.conf मधला server block server { listen 80; listen [::]:80; server_name _; ← _ = कुठलंही नाव किंवा IP; domain नसताना हेच root /usr/share/nginx/html/wordpress; ← unzip केलेला WordPress folder, सगळे small letters index index.php; ← folder मागितला: त्यातली index.php उघडा location / { try_files $uri $uri/ /index.php?$args; ← file किंवा folder नाही? WordPress कडे द्या   } include /etc/nginx/default.d/*.conf; ← ठेवा: PHP (php-fpm) चं handling इथून येतं   ... } तपासा, मग लागू करा sudo nginx -t # syntax is ok ... test is successful sudo service nginx reload root आणि index हे directives आहेत, variables नाही. Typo असेल तर nginx -tथांबवतो; reload च्या आधी दुरुस्त करा.

Figure 3. Server block: server_name _, wordpress folder मध्ये root, index index.php, /index.php कडे try_files, आणि php-fpm आणणारी include. मग sudo nginx -t आणि sudo service nginx reload.

6. Ubuntu वर याच steps

का: WordPress कुठल्याही Linux वर चालतं. प्रत्येक भाग काय करतो ते समजलं की फक्त नावं आणि paths बदलतात.

Classroom line

We've matured enough now that we can choose any OS.

Ubuntu वर काय बदलतं:

  1. yum ऐवजी apt: sudo apt install nginx mariadb-server php-fpm php-mysql -y.
  2. Web root /var/www/html आहे, म्हणून WordPress /var/www/html/wordpress मध्ये जातं.
  3. Server block /etc/nginx/sites-available/default मध्ये असतो, आणि PHP साठी तिथे php-fpm socket कडे point करणारा स्वतःचा location ~ \.php$ block लागतो.
  4. php-fpm www-data म्हणून चालतो, आणि त्याच्या service च्या नावात version असतं, उदा. php8.3-fpm.
  5. Apache ला Ubuntu वर apache2 आणि Amazon Linux वर httpd म्हणतात; nginx दोन्हीकडे nginx.
Ubuntu वर त्याच steps, फक्त नावं आणि pathsवेगळे Packages install AL2023 sudo yum install ... Ubuntu sudo apt install ... nginx web root AL2023 /usr/share/nginx/html Ubuntu /var/www/html nginx site config AL2023 /etc/nginx/nginx.conf Ubuntu /etc/nginx/sites-available/default MariaDB package AL2023 mariadb105-server Ubuntu mariadb-server PHP MySQL driver AL2023 php-mysqlnd Ubuntu php-mysql php-fpm service AL2023 php-fpm Ubuntu php8.3-fpm (24.04) php-fpm कोण म्हणून चालतो AL2023 apache Ubuntu www-data Apache web server AL2023 httpd Ubuntu apache2 AL2023 = Amazon Linux 2023 Ubuntu वर WordPress /var/www/html/wordpress मध्ये unzip करा आणिwww-data ला द्या. बाकी सगळं तसंच.

Figure 5. Amazon Linux 2023 आणि Ubuntu शेजारी शेजारी: yum आणि apt, /usr/share/nginx/html आणि /var/www/html, nginx.conf आणि sites-available/default, package names, आणि php-fpm user apache किंवा www-data.

7. Database आणि फक्त WordPress साठी user

का: WordPress ला एक रिकामा database आणि त्याचा login लागतो. तो login root नसावा: WordPress ला असा स्वतःचा user द्या जो फक्त त्याच्याच database ला हात लावू शकतो. Site कधी hack झाली तरी नुकसान त्या database पुरतंच राहतं.

कसं:

  1. MariaDB administrator म्हणून उघडा: sudo mysql (root password ठेवला असेल तर mysql -u root -p).
  2. Database आणि user बनवा, placeholder च्या जागी स्वतःचा strong password टाका:

    CREATE DATABASE wordpressdb;
    CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'YOUR_STRONG_DB_PASSWORD';
    GRANT ALL ON wordpressdb.* TO 'wpuser'@'localhost';
    FLUSH PRIVILEGES;
    exit;
    
  3. GRANT ALL ON wordpressdb.* मुळे wpuser ला wordpressdb मधल्या प्रत्येक table वर सगळे rights मिळतात, आणि बाहेर कुठेच काही नाही. Tables बनवायला आणि नंतर update करायला WordPress ला हे rights लागतात.

  4. Small letters मधली नावं वापरा. Linux वर MariaDB च्या database names case-sensitive असतात: WordPressDB आणि wordpressdb हे दोन वेगळे databases, आणि installer मध्ये नाव न जुळल्यास database connection error येतो.

Classroom line

Always use small letters, everywhere.

  1. Installer या step मधल्या चार गोष्टी विचारेल: database name, user name, त्याचा password, आणि host, localhost, कारण MariaDB त्याच server वर चालतो.

Classroom line

We'll have to give these four things there.

8. WordPress ला त्याच्या folder मध्ये लिहू द्या

का: Installer wp-config.php लिहितो, आणि नंतर WordPress upload केलेल्या images, themes आणि updates त्याच्या folder मध्ये save करतो. sudo unzip नंतर folder root च्या मालकीचा असतो, म्हणून PHP तिथे लिहू शकत नाही. हे chmod 777 ने कधीच "दुरुस्त" करू नका: त्याने server वरचा प्रत्येक user आणि प्रत्येक program प्रत्येक file बदलू शकतो.

काय: PHP चालवणाऱ्या user ला folder चा owner करा. Amazon Linux 2023 वर php-fpm apache म्हणून चालतो (/etc/php-fpm.d/www.conf मधली user = apache ओळ). Ubuntu वर तो www-data असतो.

कसं:

  1. Folder apache ला द्या:

    sudo chown -R apache:apache /usr/share/nginx/html/wordpress
    
  2. Folders ला 755 आणि files ला 644 द्या:

    sudo find /usr/share/nginx/html/wordpress -type d -exec chmod 755 {} +
    sudo find /usr/share/nginx/html/wordpress -type f -exec chmod 644 {} +
    
  3. 755 आणि 644 म्हणजे: owner (apache) लिहू शकतो; बाकी सगळे, nginx सकट, फक्त वाचू शकतात. Images आणि CSS पाठवायला nginx ला एवढंच लागतं.

  4. दुसरा मार्ग: wp-config-sample.php ची copy wp-config.php म्हणून स्वतः करा आणि त्यात database च्या चार values टाका. मग installer पहिली screen वगळतो. Uploads आणि themes साठी wp-content तरीही WordPress च्या मालकीचा हवा.
WordPress ला स्वतःच्या folder मध्ये लिहूद्या: ownership, 777 नाही हे कधीच नाही sudo chmod -R 777 wordpress 777 = server वरचा प्रत्येक user आणिप्रत्येक program प्रत्येक file बदलू शकतो.एक वाईट plugin किंवा एक hack झालेलाprocess पूर्ण site बदलू शकतो. हे करा: folder PHP user च्या मालकीचा W=/usr/share/nginx/html/wordpresssudo chown -R apache:apache $Wsudo find $W -type d -exec chmod 755 {} +sudo find $W -type f -exec chmod 644 {} + Result (ls -l) drwxr-xr-x apache apache wp-content-rw-r--r-- apache apache index.php-rw-r----- apache apache wp-config.php (640) 755 folders, 644 files: owner (apache) लिहू शकतो;बाकी सगळे फक्त वाचू शकतात. AL2023 वर php-fpm apache म्हणून चालतो (Ubuntu वरwww-data), म्हणून WordPress files save करू शकतो. Install नंतर wp-config.php मध्ये database password असतो:त्याला 640 करा.

Figure 6. chmod 777 कधीच नाही. apache (php-fpm user) ला owner करा, folders ला 755 आणि files ला 644, म्हणजे फक्त owner लिहू शकतो; install नंतर wp-config.php ला 640 करा.

9. Installer

का: Installer WordPress ला database शी जोडतो, त्याचे tables बनवतो आणि तुमचं admin account बनवतो. तो browser मध्ये एकदाच चालतो.

कसं:

  1. http://SERVER-IP/ उघडा. पहिली screen भाषा विचारते. मग काय काय लागेल त्याची list असलेली welcome screen येते.
WordPress logo खाली एक पांढरा box: Welcome to WordPress. Before getting started, you will need to know the following items: 1. Database name, 2. Database username, 3. Database password, 4. Database host, 5. Table prefix (if you want to run more than one WordPress in a single database). ही माहिती wp-config.php file बनवायला वापरली जाते असं त्यात लिहिलंय, आणि शेवटी Let's go! button.

Whiteboard: Installer ची welcome screen: database name, username, password, host आणि table prefix, जे तो wp-config.php मध्ये लिहितो.

  1. Let's go! दाबा आणि screen 1, म्हणजे database details भरा:
    1. Database Name: wordpressdb
    2. Username: wpuser
    3. Password: CREATE USER मध्ये ठेवलेला
    4. Database Host: localhost
    5. Table Prefix: wp_. प्रत्येक WordPress table या prefix ने सुरू होतो, म्हणून वेगळे prefix असलेल्या दोन sites एकच database सुद्धा वापरू शकतात. एका site साठी wp_ च ठेवा.
  2. Submit, मग Run the installation दाबा. WordPress wp-config.php लिहितो आणि रिकाम्या database मध्ये स्वतःचे tables बनवतो: wp_posts, wp_users, wp_options आणि आणखी नऊ.

Classroom line

WordPress creates its own tables.

  1. Screen 2 भरा, म्हणजे तुमच्या website चे details. हा database पेक्षा वेगळा login आहे:
    1. Site Title: site चं नाव, उदा. My Practice Blog. नंतर बदलता येतं.
    2. Username: admin login. वेगळं नाव निवडा, admin किंवा root कधीच नाही: attackers आधी तेच try करतात.
    3. Password: मोठा आणि strong. WordPress एक सुचवतो; तो जपून ठेवा.
    4. Your Email: WordPress password reset आणि सूचना इथे पाठवतो.
    5. Search engine visibility: Discourage search engines from indexing this site ला tick केलं की Google आणि इतरांना site list न करण्याची विनंती जाते. ही विनंती आहे, कुलूप नाही: address माहीत असलेला कोणीही site उघडू शकतो. Practice करताना tick ठेवा; site live झाली की काढा.
  2. Install WordPress दाबा. Success! दिसेल. Log In दाबा आणि screen 2 मधल्या username आणि password ने http://SERVER-IP/wp-admin वर sign in करा.
  3. Installer ने wp-config.php मध्ये database password लिहिला आणि ती file server वरच्या प्रत्येक user ला वाचता येईल अशी ठेवली. ती घट्ट करा: sudo chmod 640 /usr/share/nginx/html/wordpress/wp-config.php.
Installer: आधी database details, मग website चाlogin Screen 1: WordPress database पर्यंत कसा पोहोचतो Database Name wordpressdb Username wpuser Password ************ Database Host localhost Table Prefix wp_ Submit केल्यावर हे wp-config.php मध्ये लिहिलं जातं. define( 'DB_NAME', 'wordpressdb' ); define( 'DB_USER', 'wpuser' ); define( 'DB_PASSWORD', '...' ); define( 'DB_HOST', 'localhost' ); $table_prefix = 'wp_'; या CREATE DATABASE आणि CREATE USER मधल्याच values, नवीनकाही नाही. Run the installation: WordPress स्वतःचे tables बनवतो MariaDB [wordpressdb]> SHOW TABLES; wp_commentmeta wp_comments wp_links wp_optionswp_postmeta wp_posts wp_term_relationshipswp_term_taxonomy wp_termmeta wp_terms wp_usermetawp_users 12 rows in set Database रिकामा होता. प्रत्येक table wp_ prefix ने सुरू होतो,म्हणून वेगळे prefix असलेल्या दोन sites एकच database सुद्धा वापरूशकतात. Screen 2: तुमच्या website चा login, database चा नाही Site Title My Practice Blog Username site-owner-7 Password Strong (green) Your Email you@example.com ☐ Discourage search engines from indexing this site Username: वेगळं, admin किंवा root कधीच नाही; attackers आधी तेच tryकरतात. Password: मोठा आणि strong; जपून ठेवा. Discourage: search engines ना site index न करण्याची विनंती. विनंती,कुलूप नाही. Install WordPress, मग /wp-admin वर हा username आणि password वापरूनLog In.

Figure 7. Animation: screen 1 database details घेते आणि wp-config.php लिहिते; installation 12 wp_ tables बनवते; screen 2 तुमच्या website चा login बनवते: वेगळं username, strong password आणि search engine चा पर्याय.

10. Dashboard आणि तुमची पहिली post

का: wp-admin हा site चा control room आहे. Site owner इथे काम करतो, जसं social media page सांभाळतो: लिहा, फोटो टाका, publish करा.

Classroom line

What does an admin do? Supplies the content.

WordPress dashboard. डावीकडे गडद menu: Dashboard, Home, Updates, Posts, Media, Pages, Comments, Appearance, Plugins, Users, Tools, Settings आणि Collapse Menu. उजवीकडे गडद Welcome to WordPress! banner, आणि त्याखाली तीन cards: Author rich content with blocks and patterns, Customize your entire site with block themes, आणि Switch up your site's look and feel with Styles.

Whiteboard: wp-admin dashboard: डावा menu (Posts, Media, Pages, Appearance, Plugins, Users, Settings) आणि Welcome to WordPress panel.

Post कशी लिहायची: समजा तुम्हाला कवितांचा छोटा blog हवा आहे.

Classroom line

Suppose I now want to build a shayari (poetry) website.

  1. Posts > Add Post. Title टाइप करा, मग त्याखाली text. प्रत्येक paragraph एक block असतो.
  2. Block ला style द्यायला तो select करा. त्याच्या वरच्या toolbar मध्ये bold, italic आणि links असतात; उजव्या panel मध्ये text colour, background आणि font size (S, M, L, XL).
  3. फोटो टाकायला स्वतःची image किंवा वापरायचा हक्क असलेली image वापरा. आधी upload करा: Media > Add Media File, किंवा Image block चं Upload button. ती Media Library मध्ये जाते, आणि image file तुमच्या server वर wp-content/uploads मध्ये store होते. दुसऱ्या website वरची image तिच्या URL ने टाकणं टाळा: ती कधीही गायब होऊ शकते, आणि बहुतेक वेळा ते दुसऱ्याचं काम असतं.
  4. Publish, मग View Post दाबा. Site चा address नवीन tab मध्ये उघडा: post home page वर दिसते.
  5. Posts > All Posts मध्ये तुमच्या posts दिसतात. Sample post Hello world! edit करता येते किंवा trash मध्ये टाकता येते.
wp-admin dashboard: site owner इथेकाम करतो Dashboard Posts Media Pages Comments Appearance Plugins Users Settings Posts, Add New Post Title, text, मग Publish. Bold, colour आणि size Media, Add New Media File स्वतःच्या images upload करा; Media Libraryमधून टाका Appearance, Themes Theme activate करा: पूर्ण site ला नवीन look Settings, General WordPress Address आणि Site Address: saveकेलेला URL Block editor निवडलेल्या block ला toolbar आणिउजव्या panel मधून style देतो.

Figure 8. Dashboard menu: लिहायला आणि publish करायला Posts, images upload करायला Media, look साठी Appearance > Themes, आणि save केलेल्या site address साठी Settings > General.

11. Themes

का: Theme पूर्ण site कशी दिसेल ते ठरवते: layout, fonts, colours, header आणि footer. Content तेच राहतं; एका click मध्ये look बदलतो.

कसं:

  1. Appearance > Themes मध्ये install केलेल्या themes दिसतात. चालू theme वर Active लिहिलेलं असतं.
डाव्या menu मध्ये Appearance > Themes निवडलेलं WordPress admin. Themes हे title, 15 हा count आणि Add Theme button. दोन theme cards: Active लिहिलेली आणि Customize button असलेली Twenty Twenty-Five, पक्ष्यांच्या लाल फोटोसह blog preview दाखवणारी, आणि चाकाचा जवळून फोटो दाखवणारी Twenty Eleven.

Whiteboard: Appearance > Themes: चालू theme Twenty Twenty-Five, आणि install केलेली दुसरी theme Twenty Eleven.

  1. दुसऱ्या theme वर, उदा. Twenty Eleven, mouse न्या आणि Activate दाबा. दुसऱ्या tab मधली site refresh करा: त्याच posts, नवीन look.

Classroom line

Now it feels like you've built a website, right? That's the feeling.

  1. Add Theme मध्ये blogs, news, business आणि shops साठी हजारो free themes बघता येतात.
  2. Theme किंवा plugin install करताना WordPress FTP connection details विचारत असेल, तर त्याला स्वतःच्या folder मध्ये लिहिता येत नाहीये. /usr/share/nginx/html/wordpress चा owner apache आहे का ते तपासा (section 8). FTP ने themes install करणं पुढच्या chapter मध्ये.

12. IP बदलला की site का बिघडते

का: EC2 वर WordPress मध्ये हे सगळ्यात जास्त येणारं आश्चर्य आहे. Install करताना WordPress तुम्ही वापरलेला address, http://SERVER-IP, wp_options table मध्ये siteurl आणि home म्हणून save करतो, आणि प्रत्येक link, image आणि CSS address त्यावरूनच बनवतो.

काय होतं:

  1. Elastic IP नसलेल्या EC2 instance ला प्रत्येक stop आणि start नंतर नवीन public IP मिळतो.
  2. तुम्ही नवीन IP उघडता. Page येतं, पण त्याच्या styles, images आणि links अजून जुन्या IP कडे जातात, जिथे कोणी उत्तर देत नाही. /wp-admin जुन्या IP कडे redirect होतं, म्हणून login सुद्धा करता येत नाही.

हे कसं टाळायचं:

  1. Site live होण्याआधी server ला न बदलणारा address द्या: Elastic IP allocate करून instance ला associate करा, किंवा त्या Elastic IP कडे domain name point करा. WordPress त्याच address वर install करा.
  2. Practice करताना काम चालू असताना instance stop करू नका, किंवा IP बदलला की site बिघडणार हे लक्षात ठेवा.
  3. Save केलेला address Settings > General मध्ये दिसतो (WordPress Address आणि Site Address). IP आधीच बदललेली site कशी दुरुस्त करायची ते पुढच्या chapter मध्ये.

Classroom line

When you use WordPress, always use a static IP before going live.

EC2 चा public IP बदलला की WordPress site काबिघडते 1. तुम्ही WordPress http://3.3.3.3 वर install करता (उदाहरणIP). SELECT option_name, option_value FROM wp_options WHEREoption_name IN ('siteurl','home'); siteurl http://3.3.3.3 home http://3.3.3.3 WordPress ज्या address वर install झालं तो save करतो, आणि प्रत्येकlink, image आणि CSS URL त्यावरून बनवतो. Server कडे तोच IP आहे तोपर्यंत सगळं चालतं. 2. तुम्ही instance stop आणि start करता. AWS त्याला नवीनpublic IP देतो: 5.5.5.5. Browser: http://5.5.5.5/ -> the page arrives, but <link href="http://3.3.3.3/wp-content/themes/..."> ->nobody answers there http://5.5.5.5/wp-admin/ -> redirects tohttp://3.3.3.3/wp-login.php Page styling शिवाय येतं, links जुन्या IP कडे जातात, आणि wp-adminउघडत नाही. आधीच IP बदललेली site कशी दुरुस्त करायची ते पुढच्या chapter मध्ये. 3. Live करण्याआधी: server ला न बदलणारा address द्या. Elastic IP Allocate करून instance ला जोडलेला static public IP. Stop आणि startनंतरही तोच राहतो. Domain name उदा. www.example.com, जो Elastic IP कडे point करतो. WordPress थेटdomain वरच install करा. Practice करताना: काम चालू असताना instance stop करू नका, किंवा IPबदलणार हे लक्षात ठेवा.

Figure 9. Animation: WordPress install च्या address सह siteurl आणि home save करतो; stop आणि start नंतर नवीन IP असं page देतो ज्याच्या links, CSS आणि wp-admin अजून जुन्या IP कडे जातात. Live करण्याआधी Elastic IP किंवा domain वापरा.

13. काही बिघडलं तर

का: WordPress install मध्ये अनेक छोट्या steps असतात, आणि प्रत्येक error message त्यातल्या एका step कडे बोट दाखवतो.

Classroom line

There are reasons behind errors; you have to look for those reasons.

  1. IP वर अजून "Welcome to nginx" किंवा तुमचं test page दिसतं: root अजून /usr/share/nginx/html कडे आहे, किंवा reload केलं नाही. Path दुरुस्त करा, sudo nginx -t, मग sudo service nginx reload.
  2. Home page वर 403 Forbidden: nginx ला folder सापडला पण उघडायला index file नाही. index index.php; टाका आणि root /wordpress ने संपतो का ते तपासा.
  3. प्रत्येक page ला 404 Not Found: root चा path folder च्या नावाशी जुळत नाही. /usr/share/nginx/html/WordPress म्हणजे /usr/share/nginx/html/wordpress नाही.
  4. Installer म्हणतो PHP मध्ये MySQL extension नाही: php-mysqlnd install करा आणि php-fpm restart करा.
  5. Error establishing a database connection: database name, user, password किंवा host तुम्ही बनवलेल्याशी जुळत नाही. नावांचे capital-small letters तपासा, आणि त्याच values mysql -u wpuser -p wordpressdb ने login करून test करा.
  6. Installer ला wp-config.php लिहिता येत नाही: folder चा owner apache नाही. chown वापरा, 777 कधीच नाही.
  7. Post links ला 404, पण home page चालतं: try_files ची ओळ नाही.
  8. Screen 1 किंवा 2 मध्ये चूक झाली आणि परत सुरू करायचंय: database delete करून परत बनवा, मग site परत उघडा; त्याच wp-config.php सह installer परत चालतो. यामुळे site मधलं सगळं पुसलं जातं.

    sudo mysql -e "DROP DATABASE wordpressdb; CREATE DATABASE wordpressdb;"
    

    चूक database details मध्येच असेल तर wp-config.php सुद्धा delete करा, म्हणजे screen 1 परत येईल.

Ravindra Bagale's Tip

Stack एका वेळी एक layer बांधा आणि पुढच्या आधी प्रत्येक layer test करा: index.html उघडलं (nginx), info.php उघडलं (php-fpm), mysql -u wpuser -p wordpressdb ने login झालं (database आणि user), sudo nginx -t pass झालं (config). मग installer उघडा. एखादी step fail झाली की sudo tail -n 20 /var/log/nginx/error.log आणि /var/log/php-fpm/www-error.log बहुतेक वेळा कारण एका ओळीत सांगतात. आणि site कोणाला दाखवण्याआधी server ला Elastic IP द्या.

Practice झाल्यावर EC2 instance stop करा, आणि लक्षात ठेवा की Elastic IP नसेल तर त्याचा public IP बदलेल.

14. Hands-on lab: रिकाम्या server पासून पहिल्या post पर्यंत WordPress

हा lab का. Web चा मोठा भाग WordPress वर चालतो, आणि तो install करताना आत्तापर्यंतचं प्रत्येक कौशल्य लागतं: packages, services, nginx, database user आणि file permissions. खालच्या प्रत्येक step ला check आहे, म्हणजे लपलेला प्रॉब्लेम घेऊन installer पर्यंत पोहोचत नाही.

  1. LEMP चे भाग install करा
    • Command: sudo yum install nginx mariadb105-server php php-fpm php-mysqlnd -y
    • काय दिसेल: Complete!
    • Check करा: php -m | grep -i mysqli → mysqli.
    • का: WordPress म्हणजे सगळं MySQL-compatible database मध्ये ठेवणारा PHP code. php-mysqlnd शिवाय तो "Your PHP installation appears to be missing the MySQL extension" वर थांबतो.
  2. Services start करा
    • Command: sudo service nginx start; sudo service mariadb start; sudo service php-fpm start
    • काय दिसेल: तीन redirect ओळी.
    • Check करा: http://PUBLIC_IP/ मध्ये nginx test page दिसतं.
    • का: WordPress येण्याआधी test page दिसलं की nginx आणि port 80 चालतात हे सिद्ध होतं.
  3. WordPress download करून उघडा
    • Command: cd /usr/share/nginx/html && sudo wget https://wordpress.org/latest.zip && sudo unzip -q latest.zip
    • काय दिसेल: latest.zip ... saved, मग prompt.
    • Check करा: ls wordpress मध्ये wp-admin, wp-content, wp-includes आणि index.php दिसतात.
    • का: Server वरचा wget थेट wordpress.org वरून download करतो. -q मुळे unzip हजारो file नावं print करत नाही.
  4. Database आणि त्याचा user बनवा
    • करा: sudo mysql -u root -p मध्ये CREATE DATABASE wordpressdb;, CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'YOUR_STRONG_DB_PASSWORD'; आणि GRANT ALL ON wordpressdb.* TO 'wpuser'@'localhost'; चालवा.
    • Check करा: mysql -u wpuser -p wordpressdb -e "SELECT 1;" 1 print करतो.
    • का: WordPress ला फक्त स्वतःच्या database वर rights असलेला स्वतःचा user मिळतो. मग hack झालेला plugin तुमच्या दुसऱ्या databases ला हात लावू शकत नाही.
  5. nginx ला WordPress कडे point करा
    • करा: /etc/nginx/nginx.conf मध्ये root /usr/share/nginx/html/wordpress; set करा आणि index index.php index.html; जोडा (section 5).
    • Check करा: sudo nginx -t → syntax is ok, मग sudo service nginx reload.
    • का: Index list मध्ये index.php नसेल तर nginx फक्त index.html शोधतो आणि 403 देतो.
  6. WordPress ला त्याच्या folder मध्ये लिहू द्या
    • Command: sudo chown -R apache:apache /usr/share/nginx/html/wordpress
    • काय दिसेल: काहीच नाही.
    • Check करा: ls -ld /usr/share/nginx/html/wordpress मध्ये apache apache दिसतं.
    • का: Amazon Linux वर php-fpm apache user म्हणून चालतो. wp-config.php लिहायला आणि uploads save करायला folder त्याच्या मालकीचा हवा.
  7. Installer चालवा
    • करा: http://PUBLIC_IP/ उघडा, भाषा निवडा, wordpressdb, wpuser, त्याचा password आणि localhost टाका, मग site title आणि admin login set करा.
    • काय दिसेल: Success!, मग login page.
    • Check करा: sudo mysql -u root -p -e "SHOW TABLES FROM wordpressdb;" wp_ ने सुरू होणारे tables दाखवतो.
    • का: Installer wp-config.php लिहितो आणि wp_ tables बनवतो. तो file लिहू शकला नाही, तर step 6 राहिली.
  8. पहिली post publish करा
    • करा: http://PUBLIC_IP/wp-admin वर login करा, Posts → Add New वर जा, title आणि एक ओळ लिहा, आणि Publish दाबा.
    • Check करा: Home page वर तुमची post दिसते.
    • का: Post file म्हणून नाही, database मध्ये save होते. म्हणूनच WordPress साठी database चा backup घ्यायचा.
  9. IP लिहून ठेवा, मग stop करा
    • करा: ज्या public IP वर install केलं तो लिहून ठेवा, मग instance stop करा.
    • Check करा: State Stopped.
    • का: WordPress ने तोच IP site address म्हणून save केला. Start नंतर IP बदलतो, आणि address सुरक्षितपणे कसा दुरुस्त करायचा ते पुढचा chapter दाखवतो.

15. पूर्ण class एका page वर

  1. Framework developers ना app लिहायला भाग देतो; WordPress सारखा CMS ही dashboard मधून भरायची तयार website.
  2. LEMP: sudo yum install nginx mariadb105-server php php-fpm php-mysqlnd -y, तीन services सुरू करा, index.html आणि एक PHP page test करा.
  3. php-mysqlnd मुळे PHP MariaDB पर्यंत पोहोचतो; install केल्यावर फक्त php-fpm restart करा.
  4. Stable https://wordpress.org/latest.zip download करा आणि /usr/share/nginx/html/wordpress मध्ये unzip करा, सगळे small letters.
  5. Server block: server_name _;, root .../wordpress;, index index.php;, try_files $uri $uri/ /index.php?$args;; मग sudo nginx -t आणि reload.
  6. Ubuntu: apt, /var/www/html, sites-available/default, php-mysql, user www-data.
  7. CREATE DATABASE wordpressdb; आणि GRANT ALL ON wordpressdb.* असलेला wpuser, root कधीच नाही; small letters मधली नावं.
  8. Folder ला chown -R apache:apache, folders 755, files 644, 777 कधीच नाही; install नंतर wp-config.php 640.
  9. Screen 1: database name, user, password, localhost, prefix wp_. Screen 2: site title, वेगळं admin username, strong password, email, आणि search engine ची विनंती.
  10. Dashboard: लिहायला आणि style द्यायला Posts, images साठी Media Library, look साठी Appearance > Themes.
  11. WordPress त्याचा address save करतो; EC2 चा नवीन IP site बिघडवतो, म्हणून live होण्याआधी Elastic IP किंवा domain वापरा.
  12. Installer परत चालवायला database drop करून परत बनवा.

16. Try at home

Try at home

Task 1: stack

  1. Amazon Linux 2023 instance launch करा, nginx, MariaDB, PHP, php-fpm आणि php-mysqlnd install करा, आणि तिन्ही services सुरू करा.
  2. Test साठी index.html आणि info.php उघडा, मग info.php delete करा.

Task 2: WordPress

  1. latest.zip download करा, /usr/share/nginx/html/wordpress मध्ये unzip करा, आणि root, index आणि try_files set करा.
  2. wordpressdb आणि wpuser बनवा, 755 आणि 644 सह folder apache ला द्या, आणि वेगळ्या admin username ने installer चालवा.
  3. wordpressdb मध्ये SHOW TABLES; चालवा आणि wp_ tables मोजा.

Task 3: content

  1. दोन posts publish करा, एक bold रंगीत text ची आणि एक Media Library मध्ये upload केलेल्या image ची.
  2. वेगळी theme activate करा आणि आधीची आणि नंतरची site compare करा.

Task 4: मुद्दाम बिघडवा

  1. try_files ची ओळ comment करा, nginx reload करा, आणि एक post उघडा. Error लिहून ठेवा, मग ओळ परत टाका.
  2. Settings > General बघा आणि save केलेला address लिहून ठेवा. Stop आणि start नंतर कुठला address बिघडेल?

Recap

थोडक्यात

  1. WordPress हा PHP मध्ये लिहिलेला CMS आहे: owner dashboard मधून भरतो अशी तयार website, developers ना code लिहायला मदत करणाऱ्या framework सारखा नाही.
  2. तो LEMP वर चालतो: nginx, php-mysqlnd सह php-fpm, आणि MariaDB, सगळं एकाच Amazon Linux 2023 server वर.
  3. Stable latest.zip /usr/share/nginx/html/wordpress मध्ये download करा आणि nginx चा root तिथे वळवा, index index.php; आणि try_files ... /index.php?$args; सह.
  4. WordPress ला स्वतःचा database, wordpressdb, आणि स्वतःचा user, wpuser, द्या, GRANT ALL ON wordpressdb.* सह.
  5. php-fpm user apache ला folder चा owner करा, 755 आणि 644 सह; 777 कधीच नाही.
  6. Installer ची screen 1 database details घेते; screen 2 वेगळं username आणि strong password असलेला तुमच्या website चा login बनवते.
  7. Block editor ने posts लिहा, images Media Library मध्ये upload करा, आणि Appearance > Themes मधून look बदला.
  8. WordPress त्याचा address लक्षात ठेवतो, म्हणून site live होण्याआधी Elastic IP किंवा domain वापरा.

सराव Tasks

या scenario बद्दल

Texas Solar Co हा ऑस्टिन मधला सौर ऊर्जा व्यवसाय आहे. Carlos Ramirez त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे USD मध्ये मोजले जातात आणि AWS resources us-east-2 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 12

सोपं बदलानंतर service restart करा

का: Config बदल service restart/reload नंतरच लागू होतात.

काय करायचं: nginx service restart करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Service चालू आहे का ते पाहा

का: Site बंद असेल तर आधी web server चालू आहे का ते पाहा.

काय करायचं: httpd service चं status दाखवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Ubuntu वर package install करा

का: Ubuntu apt वापरतं. Package नावं वेगळी: Ubuntu वर Apache म्हणजे apache2.

काय करायचं: Ubuntu वर apache2 package confirm न विचारता install करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Amazon Linux वर package install करा

का: Amazon Linux 2023 वर dnf हा package manager. -y आपोआप yes देतो.

काय करायचं: Amazon Linux 2023 वर httpd package confirm न विचारता install करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं Server वरून website test करा

का: DNS तयार होण्याआधीही web server उत्तर देतो का ते curl दाखवतो.

काय करायचं: http://localhost ला request पाठवा व फक्त response headers दाखवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

सोपं GitHub वरून code घ्या

का: git clone पूर्ण repository server वर copy करतो.

काय करायचं: https://github.com/texassolar/website.git सध्याच्या folder मध्ये clone करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम nginx config test करा

का: Restart मुळे site बंद पडण्याआधी test चुका पकडतो.

काय करायचं: nginx configuration files मधल्या चुका तपासा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Service आत्ता व boot ला सुरू करा

का: enable reboot नंतर सुरू करतो; --now आत्ताच सुरू करतो.

काय करायचं: nginx service enable करा व लगेच सुरू करा, एका command ने.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Port 80 सगळ्यांसाठी उघडा

का: Security group HTTP allow करत असेल तरच visitors website पाहू शकतात.

काय करायचं: Security group sg-011225c015104c3b2 वर 0.0.0.0/0 कडून inbound TCP port 80 allow करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम लहान orders काढा

का: RDS setup नंतर database query करणं रोजचं काम.

काय करायचं: 200 पेक्षा कमी amount चे orders delete.

Tables: customers(id, name, city) व orders(id, customer_id, amount, odate).

कसं करायचं:
  1. Task कोणत्या table बद्दल आहे ते पाहा (box वरची table list).
  2. SQL statement step by step लिहा: काय, कुठून, कोणते rows.
  3. Statement ; ने संपवा.
  4. Check answer दाबा. Query table च्या practice copy वर चालते.

अवघड Ubuntu वर nginx site enable करा

का: Ubuntu वर sites-available पासून sites-enabled ला symbolic link ने site enable होते.

काय करायचं: /etc/nginx/sites-enabled/ मध्ये /etc/nginx/sites-available/texassolar ची symbolic link बनवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

अवघड Customer नुसार sales

का: RDS setup नंतर database query करणं रोजचं काम.

काय करायचं: Customer नुसार total, फक्त 1000 पेक्षा जास्त.

Tables: customers(id, name, city) व orders(id, customer_id, amount, odate).

कसं करायचं:
  1. Task कोणत्या table बद्दल आहे ते पाहा (box वरची table list).
  2. SQL statement step by step लिहा: काय, कुठून, कोणते rows.
  3. Statement ; ने संपवा.
  4. Check answer दाबा. Query table च्या practice copy वर चालते.

उजळणी, तुलना आणि मुलाखत cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

उजळणी card: WordPress सारखा CMS म्हणजे काय?. Coding न येणाऱ्यांना HTML न बदलता posts आणि pages add करता यायला हवीत. CMS (content management system) म्हणजे content सांभाळायला admin panel असलेलं तयार app. LEMP वर install करा, मग /wp-admin वर सगळं manage. Blog, shop किंवा college site: posts, Media Library आणि themes.
उजळणी card: WordPress सारखा CMS म्हणजे काय? · PNG download करा
उजळणी card: WordPress साठी Nginx server block. योग्य block नसेल तर Nginx 404 दाखवतो किंवा PHP download करतो. root = WordPress folder, index index.php, आणि try_files सुंदर URLs index.php कडे पाठवतो. Block edit करा, nginx -t, reload. मुख्य line:
उजळणी card: WordPress साठी Nginx server block · PNG download करा
उजळणी card: WordPress database आणि user. App साठी root वापरणं धोक्याचं; leak झाल्यास पूर्ण database access. एक database आणि फक्त त्यावर rights असलेला एक user बनवा. SQL चालवा, मग installer च्या पहिल्या screen वर हे details द्या. SQL:
उजळणी card: WordPress database आणि user · PNG download करा
उजळणी card: WordPress file permissions. PHP लिहू शकत नसेल तर uploads fail; 777 कोणालाही लिहू देतो. Owner = php-fpm user. Folders 755, files 644. 777 कधीच नाही. Folder chown करा, मग find ने 755/644. Folders:
उजळणी card: WordPress file permissions · PNG download करा
तुलना: CMS vs Framework. CMS: Content साठी admin panel असलेलं तयार app. Framework: स्वतःचं app बनवायचा code toolkit.
तुलना: CMS vs Framework · PNG download करा
मुलाखत card: CMS आणि framework मध्ये फरक काय?. CMS म्हणजे configure करायचं तयार app; framework म्हणजे स्वतःचं app लिहायचा toolkit. Content sites साठी CMS पटकन; custom logic साठी framework. WordPress = CMS. Laravel किंवा Flask = framework.
मुलाखत card: CMS आणि framework मध्ये फरक काय? · PNG download करा
मुलाखत card: WordPress folders 777 कधीच का नाही?. 777 प्रत्येक user आणि process ला files लिहू आणि चालवू देतो. मग एक hacked plugin कोणतीही file बदलू शकतो. योग्य: owner = php-fpm user, 755 folders, 644 files.
मुलाखत card: WordPress folders 777 कधीच का नाही? · PNG download करा
मुलाखत card: EC2 public IP बदलल्यावर WordPress का तुटतं?. WordPress database मध्ये जुन्या IP सोबत site URL save करतं. Links आणि CSS अजूनही जुन्या IP कडे. सुरुवातीपासून Elastic IP किंवा domain वापरा.
मुलाखत card: EC2 public IP बदलल्यावर WordPress का तुटतं? · PNG download करा
मुलाखत card: WordPress Nginx config मध्ये try_files काय करतं?. File असेल तर ती देतो, नसेल तर request index.php ला देतो. /about/ सारख्या WordPress pretty links खरे folders नाहीत. Line:
मुलाखत card: WordPress Nginx config मध्ये try_files काय करतं? · PNG download करा

अजून cards: Ravi Sir's Cards.