تثبيت وتجهيز Apache Mariadb php على فيدورا

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاىه


تثبيت وتجهيز Apache Mariadb php على فيدورا.




قبل أن أبدأ أريد أن أوضح أني لا أعرف شيء عن هذه الامور, بشكل عام لا أحب هذا المجال لاكني لأكتب هذا الموضوع قرأت من هنا وهناك بعض الوثائق أتمنى ان يكون الشرح جيد لمن يريد ان يبدأ أو بالفعل بدأ بتعلم php .

قبل أن أبدأ أرجو التركيز هناك اوامر يجب أن تنفذ بصلاحيات root اي من خلال sudo وهناك أوامر يجب ان تنفذ بصلاحيات المستخدم العادي .


1-تثبيت الحزم الضرورية.


sudo dnf install httpd mariadb mariadb-server php php-common php-mysqlnd php-pdo

للبحث عن كل مكتبات php إختار ما يناسبك.
sudo dnf list php-* |less





2-تفعيل وتشغيل الخدمات الضرورية والتأكد منها .


ملاحظة enable يعني تفعيل الخدمة لتعمل عند كل إقلاع للنظام  أما start تشغيل الخدمة لمرة واحدة أما status لعرض معلومات عن حالة الخدمة مع الملاحظة زيادة عدد الخدمات التي تعمل مع إقلاع النظام يعني زيادة وقت إقلاع النظام.

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

 sudo systemctl status httpd.service


sudo systemctl status mariadb.service

نلاحظ الخدمتين يعملو من دون مشاكل .





3-إعداد Mariadb لأول مرة.


ملاحظة حسب ما أعلم Mariadb متوافقة تماما مع Mysql لمزيد من المعلومات إبحث في جوجل عن سبب إنشقاق وإنشاء Mariadb (عندما تطلب تثبيت Mysql في فيدورا سيتم تثبيت Mariadb بدلا عنه ) .

sudo mysql_secure_installation

 نقرأ ونقرر ونختار انا إخترت الامور هكذا مع الملاحظة نلاحظ أني إخترت كلمة مرور ل root نلاحظ كتبتها مرتين ولن تظهر النجوم بدل كلمة المرور أي لن يظهر شيء ,من يستخدم لينكس يعرف هذا السلوك .

إنشاء قاعدة بيانات وهذه التفاصيل من المفروض أنك تعرفها او تتابع دورة ما للأمانة كما ذكرت سابقا انا لا أحب كثيرا هذا المجال ولا أعرف فيه لاكن في الأسقل صورة لإنشاء قاعدة بيانات سميتها mydb3 وإنشاء مستخدم youcef بكلمة مرور mypassword.









4-تجربة أولية ل httpd أو Apache .


  للتأكد فقط نعمل إعادة تشغيل لخدمة httpd.


 نحتاج إنشاء ملف بهذا المسار وهنا تحتاج صلاحيات root أي إستخدم sudo وأي محرر نصوص يعمل من الترمينال مثل vi أو nano ثم تكتب داخله كما في الصورة ونحفظه.

sudo vi /var/www/html/info.php



 نفتح المتصفح نكتب localhost او ip الجهاز أو إسمه نلاحظ أن خدمة httpd تعمل بشكل جيد .



نكتب إسم السكربت الذي سبق وكتبناه لنلاحظ أن كل شيء على ما يرام  من httpd إلى php  إذا لم يعمل نجرب إعطائه صلاحيات التشغيل من خلال هذا الأمر لاكن غالبا لن تحتاج هذا .

sudo chmod 755  /var/www/html/info.php





5-إعداد الجدار الناري .


إذا أردنا أن نتصل ب httpd من خارج جهازنا الذي نعمل عليه مثلا من خلال ال Lan نحتاج إعداد الجدار الناري .

نحصل اولا على إسم ال zone  الذي يعمل به الجدار الناري ثم ننفذ هذه الأوامر مع مراعات تغير إسم ال zone إذا كان مختلف عندك (ممكن طلب فتح منفذ من خلال تحديد الرقم أو من خلال ذكر إسم الخدمة كما فعلت انا) .
firewall-cmd --get-active-zones

sudo firewall-cmd --permanent --zone=FedoraWorkstation --add-service=http

sudo systemctl restart firewalld.service






6-تفعيل ما يسمى UserDir .


إضافة ملفات إلى مسار /var/www/html صعب قليلا ممكن تفعيل ما يسمى UserDir ويصبح لكل مستخدم مجلد خاص به داخل مجلد المنزل الخاص به يضع فيه ملفات الموقع هكذا أسهل لأن العمل سيكون عادي من دون إستخدام صلاحيات root .

 تغير صلاحيات مجلد المنزل كما في الصورة .


 إذا كان selinux مفعل نتأكد من أن httpd_enable_homedirs تساوي on .

داخل مجلد المنزل الخاص بنا نقوم بإنشاء مجلد public_html ونعطيه صلاحيات 755 .

sudo chmod 711 ~/

sudo setsebool -P httpd_enable_homedirs true

mkdir ~/public_html

chmod 755 ~/public_html



 sudo vi /etc/httpd/conf.d/userdir.conf

ندخل على هذا الملف نلاحظ هذا هو قبل التعديل .



 نحذف كلمة disabled ونكتب بدلها enabled وممكن أيضا تحديد إسم مستخدم محدد أو أكثر وإلا سيكون الأمر مفعل لكل المستخدمين ملاحظة نتأكد من أن هذا السطر لا يبدأ بعلامة # وإلا سيعتبر تعليق (comment) ولن ياخذ به.

نتاكد من ان سطر UserDir public_html لا يبدأ بعلامة # .



sudo systemctl restart httpd.service
أولا نعيد إقلاع خدمة httpd ثم نفتح المتصفح ونكتب .
(إستبدل yusuf بإسم المستخدم عندك) .



 لنجرب السكربت الذي سبق وكتبناه في أول الموضوع سانفله إلى مجلد public_html ثم أعطيه صلاحيات التنفيذ .





 إنشاء ملف index.html وتجربته .


لمزيد من المعلومات .
https://httpd.apache.org/docs/2.4/howto/public_html.html



7-أخيرا.


في حال واجهت أي مشكلة في المستقبل اول شيء يجب ان تفكر فيه تخفيف سياسة selinux في حال كان مفعل(Enforcing) أي إجعله Permissive بشكل مؤقت من خلال أمر sudo setenforce 0 إذا حلت المشكلة تبحث عن حل دائم أو بإختصار إجعل سياسية selinux هي Permissive بشكل دائم من خلال التعديل على ملف etc/selinux/config/ .




شارك الموضوع

مواضيع ذات صلة

التسميات

2016 (1) 23 (1) 24 (3) 25 (1) 26 (1) 27 (1) 28 (1) إتصال (1) إختراق (2) أدة (1) أدوات (1) إرسال (1) أرش (1) إسترجاع (1) إستعلام (1) أشياء (5) أشياء تفعلها (6) إصدارات (1) إصلاح (6) إصلاحrealtek (1) إضافات (1) إضافة (1) أعجوبة (1) أعجوية (1) إعداد (1) إقاف (2) أقسام (1) ألعاب (2) الفرق (1) الفلاشة (1) القسم هوم (1) الكتابة بالعربية (1) إلى جانب (1) أندرويد (1) إنشاء مستودع (1) أيات (1) أيزو (1) أيقومات (1) أيقونات (1) ايقونات (2) باتش (1) بارامتر (1) بايثون (15) برامج (55) برامج إسلامية (2) برنامج (19) برودباند (1) بعد (5) بعد التثبيت (6) بلوتوث (1) بناء (1) بناء توزيعة (1) بيئة عمل (1) تثبيت (26) تجهيز (2) تجهيو من دون (2) تحزيم (2) تحقق (1) تحويل (1) تخصيص (5) ترجمة (2) ترقية (1) تسجيل الشاشة (1) تشغيل (3) تعريف (13) تعطيل (2) تعلم (6) تفعلها (5) تفعيل (2) تقطع الأحرف (1) تقعيل (1) تنزيل (2) تورنت (1) توسعة (1) ثيم (5) ثيمات (1) جافا (1) جماليات (7) جنوم (1) حجم (1) حرق (2) حزمة (1) حل (2) دالة (1) دورة (1) ريدهات (2) سكربت (2) شرح (11) صورة متحركة (1) فايرفوكس (1) فصل (1) فلاشة (3) فيدورا (27) فيدورا بالعربي (1) قاموس (1) كالي (2) كتاب (2) كتب (2) كرت (1) كروت الشاشة (1) كلمة المرور (2) كورس (1) كورورا (1) لعبة (1) لينكس (2) لينكسو (1) ماهو (5) متغير البيئة (1) مجانا (1) محاكات (2) محاكي (1) محمل الإقلاع إصلاح (1) محمول (1) مستودعات (1) مشكلة (2) ملف نصي (1) من إصدار (1) نظام ملفات (1) نمط (2) نواة (1) هجين (4) واجهات (1) وايرلس (1) وهمي (2) ويندوز (2) access token (1) active (2) add (1) after (5) alias (1) andoid studio (1) android (1) android studio (1) Apache (2) appstream (1) arboot (1) arboot fix (1) arch (3) archiso (1) arfedoraccframework (3) arfedoracontrolcenter (3) arfedy (1) atari (1) atom (1) ayat (1) bicon (1) blivet (1) blivet-gui (1) bluetooth (1) book (2) books (2) bootloader fix (1) boxes (2) broadband (1) broadcom (1) broadwayd (1) bugzilla (1) build (2) builddep (1) bumblebee (1) bumbleebe (2) burn (2) byzanz (1) c# (1) calamares (1) camera (1) cannot open display (1) cannot open display: :0 (1) ccna (1) cd (2) centos (1) change (1) chsh (1) cisco (1) clion (1) clone (1) code.org (1) command (2) command line (1) commands (2) comps (1) connect (1) contra (1) convert (1) copr (1) could not connect to the debugger (1) cpu (1) cpufreq (1) createrepo (1) csharp (1) css (1) curlew (1) custom (2) dbus (3) dconf (1) dd (1) Decryption (1) defragment (2) desktop (1) desktop entry (1) dictionary (1) disks (1) dnf (13) do (5) docker (1) download (2) downloads manager (1) dply (1) DRI PRIME (1) driver (8) dukto (1) e2fsck (1) efi (4) el forkane (1) elforkane (1) elif (1) emergency (3) emergency mode (3) enable (2) Encryption (1) error mounting /dev/sd (1) ext4 (1) extend (1) extensions (2) fakenes (1) fast startup (2) fceux (1) fedora (42) fedora 25 alpha (1) fedora cloude (1) fedora28 (1) fedoraوفيدورا (1) fedy (1) fgmac (2) fgmac-24 (1) file (1) find (1) firefox (2) fix (10) flash mem (1) flash memory (2) flashplayer (1) flatpak (3) fpaste (1) free (1) freebsd (1) function (1) game (3) games (1) gedit (1) genymotion (1) gettext (1) gif (1) gimp (1) gio (1) github (5) github.io (1) glibc-common (1) gmaclinux (2) gnome (15) gnome boxes (1) gnome disk (1) gnome shell (12) gnome terminal (1) gnome-disks (1) gnu (1) godot (1) goldendict (1) google web designer (1) gpg (1) gradio (1) group (2) grub (6) grub2 (1) gstreamer (1) gtk (7) gtk+ (1) hack (2) hash (3) hdmi (3) hibernate (1) home (2) hosspot (1) hybrid (2) icon (2) icons (3) ide (1) if (1) install (29) installf (9) installing (5) intellij idea (1) internet downlaod manager (1) iso (1) java (3) jdk (2) jetbrains (1) jetbrains toolbox (1) kali (2) kde (1) kernel (1) kernel parameters (1) key (1) kickstarts (3) korora (1) krita (1) kvm (1) kvm switches (1) lamp (1) laps (1) learn (1) legacy (1) legacy bios (3) libreoffice (2) life is trange (1) linux (7) lv (1) lvm (2) mac (4) macros (1) mageia (1) mariadb (1) MariaDB and PHP Lamp Server (1) markdown (2) mate terminal (1) mbr (1) md5sum (1) mirro (1) mo (1) mono (2) monodevelop (2) mount (1) mp4 (1) multi screen (1) natron (1) nautilus (2) nes (1) netbeans (1) netcut (1) nintendo (1) ntfs (2) nvidia (7) objdesktop (1) ojuba (2) oop (1) opensuse (1) opera (1) optirun (2) oracle (1) os.path (1) package (1) page (1) pages (1) pantheon (1) parameter (1) parameters (1) password (2) patch (1) path (2) pdf (1) peek (1) photoshop (1) php (1) phpstorm (1) plugin (3) plugins (1) plymouth (1) po (1) polkit (1) portable (1) PostinstallerF (1) pot (1) powerline (2) powerline-go (1) preset (1) primary display (1) primus (1) primusrun (1) private key (1) programs (3) public key (1) put (1) pv (1) pycharm (2) pygobject (3) pygtk (5) python (52) pythonk (1) qdbus (1) qemu (2) qemu-kvm (1) query (1) radio (1) raspberry pi (4) raspbian (2) reclaim space (2) record (1) redhat (3) remix (1) remix os (1) repo (4) repofrompath (1) resize2fs (1) rhel (1) rpm (6) rpmbuild (1) rtl8188ee (1) rtl8192c (1) rtl8192ce (1) rtl8192cu (1) rtl8192de (1) rtl8192ee (1) rtl8192se (1) rtl8723ae (1) rtl8723be (1) rtl8723com (1) rtl8821ae (1) rubymine (1) salix (1) scratch (2) scratch2.scratch 2 (1) script (2) seconday display (1) self (1) send (1) settings (1) sha1256sym (1) share desktop (1) shell (2) shortcut (1) shutter (1) skel (1) skel ماهو (1) skype (1) skype.برامج (1) slackware (1) software (1) soundcloud (1) source code (1) spec (2) spin (1) sqlmap (1) ssh (3) sshd (2) st-trans (1) steam (2) su (1) sudo (2) sudoers (1) swap (2) switch (2) Switchable Graphics (1) synergy (1) systemd (1) systemd preset (1) teamviewer (1) terminal (2) theme (5) things (5) thomson (1) to (6) tor (2) tor browser (1) torrent (1) transfer closed with 736700 bytes remaining to read (1) translation (1) turn off (2) tuxcut (1) txt (1) ubuntu (1) uefi (5) unable to mount location (1) unity (1) unity3d (1) upgrade (1) usb (1) useradd (2) utf-8 (1) vega (1) vg (1) vgaوتبديل (1) vi (1) vim (1) vino (1) virtual (1) virtual box (1) virtualbox (3) vmware (3) vnc server (1) vokoscreen (1) webstorm (1) wifi (1) windows (4) windows-1256 (1) woeusb (1) X Error: BadAccess (1) X Error: BadDrawable (1) xdg-mime (1) xdman (1) yum (2) zeal (1) zealdocs (1)